Autor Wątek: Allegro 5 spadek FPS przy zmianie rozdzielczości w trybie FULLSCREEN  (Przeczytany 1990 razy)

Offline Nekronomik

  • Użytkownik

# Czerwiec 14, 2013, 14:28:45
Witam,problem jest taki że gdy zmieniam rozdzielczość w trybie FULLSCREEN to fps spada mi do okolo 1. W trybie WINDOWED tego problemu nie mam,tu jest kod który napisałem dla testów i w którym jest identyczny błąd co w mojej grze:
#include <allegro5/allegro.h>
#include <allegro5/allegro_image.h>
#include<iostream>
using namespace std;
int x=0;
ALLEGRO_BITMAP*OB1=0;
void obrazek()
{
    al_draw_bitmap(OB1,x,200,0);
}
int main()
{
   ALLEGRO_DISPLAY *display = NULL;
 
   al_init();
   al_set_new_display_flags(ALLEGRO_FULLSCREEN);
   display = al_create_display(640, 480);
   al_init_image_addon();
   al_install_keyboard();
   ALLEGRO_KEYBOARD_STATE Key;
   al_get_time();
   OB1=al_load_bitmap("p.png");
   double time1=0;
   bool xw=false;
   bool wcisniety=false;
   double czas_fps=0;
   int fps=0;
   for(;;)
   {
       al_get_keyboard_state(&Key);
       if(al_get_time()>time1+0.01)
       {
           time1=al_get_time();
           obrazek();
           if(x<600 && xw==false) x++;
           if(x>=600) xw=true;
           if(xw==true) x--;
           if(x<=0) xw=false;
           al_flip_display();
           al_clear_to_color(al_map_rgb(255,255,255));
       }
       if(al_key_down(&Key,ALLEGRO_KEY_Q) && wcisniety==false)
       {
           al_resize_display(display, 1280, 1024);
           wcisniety=true;
       }
       if(al_key_down(&Key,ALLEGRO_KEY_Q)==false) wcisniety=false;
       
        if(al_get_time()>czas_fps)
        {
            czas_fps=czas_fps+1;
            cout<<fps<<endl;
            fps=0;
        }
        fps++;
       if(al_key_down(&Key,ALLEGRO_KEY_ESCAPE))break;
   }
   al_destroy_bitmap(OB1);
   al_destroy_display(display);
   return 0;
}
« Ostatnia zmiana: Czerwiec 14, 2013, 19:16:43 wysłana przez Nekronomik »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Kamilton89

  • Użytkownik

# Listopad 20, 2013, 00:38:00
Spróbuj ponownie przeładować bitmapy

Offline Nekronomik

  • Użytkownik

# Marzec 07, 2014, 22:03:46
Dzięki, działa :D