[SFML] Licznik FPS
Ostatnio zmodyfikowano 2013-09-28 13:19
fers334 Temat założony przez niniejszego użytkownika |
[SFML] Licznik FPS » 2013-09-20 12:27:09 Siemanko. Mam problem z zrobieniem licznika fps w sfml wcześniej miałem do czynienia z SDL i tam taki licznik robiłem za pomocą timerów . Na razie zrobiłem w sfml oto takie coś : _frame++;
if( _clock.getElapsedTime().asSeconds() > 1 ) { std::stringstream strum; strum << " FPS -> [" << _frame << "]"; _text.setString( strum.str() ); _clock.restart(); _frame = 0; } Teraz moje pytanie, czy taki licznik jest poprawny , ponieważ czasami skacze mi np. przez 10 sek mam 500fps a nagle pokazuje mi 100 i nagle ponownie 500 + czasami zdarza się nie wiem dlaczego gdy wyświetla tekst to znika cyfra np: FPS -> [2_2]
// znika środkowa cyfra np. nie wiem dlaczego. Był bym wdzięczny jakby ktoś podał własny licznik fps w SFML. Z góry dzięki za pomoc. |
|
MrPoxipol |
» 2013-09-20 15:08:48 |
|
fers334 Temat założony przez niniejszego użytkownika |
» 2013-09-20 15:13:56 okey dzięki.
Całkiem podobny do mojego,błędy z tekstem i inne się już nie pojawiają nie mam pojęcia czego to była wina bo nic nie zmieniałem,ważne że działa.
I tak wielkie dzięki. |
|
fers334 Temat założony przez niniejszego użytkownika |
» 2013-09-28 11:47:41 Siemka mam problem przy nowym programie ponownie mam ten sam problem z tekstem oto kod : void Fps_Counter::Update() { if( _running == true ) { ++_fps; if( _clock.getElapsedTime().asSeconds() >= 1.f ) { _text.setString( Get_String_Fps( _fps ) ); _fps = 0; _clock.restart(); } } } A w głównej pętli wygląda to tak : In_Start();
while( _window.isOpen() ) { Control(); Update(); Render(); _fps_counter.Update(); }
In_Last(); W funkcji Render wyświetlam tekst z wartością fps.Problem w tym że dopóty nie ruszę oknem aplikacji tekst wyświetla się z błędami np. // zamiast cyfry ( tutaj zaznaczonej znakiem '_' ) wyświetla sie puste miejsce 2_2 , __2 , ___ ( Całość pusta ) , itd. Czego to może być wina ? |
|
fers334 Temat założony przez niniejszego użytkownika |
» 2013-09-28 13:19:52 Rozwiązałem problem.Wystarczyło zmienić czcionkę. Czcionkę którą używałem przy pojawiającym się błędzie była : MARANALL
Nie wiem czy to była wina czcionki ale już wszystko działa. |
|
« 1 » |