[SFML] Spadki FPS
Ostatnio zmodyfikowano 2012-10-24 22:45
akwes Temat założony przez niniejszego użytkownika |
[SFML] Spadki FPS » 2012-10-24 15:35:22 Hm... Mam sobie taką listę: std::list < CExpPoint *> Items;
na której wykonuję sobie taką funkcję void CExpList::Draw( sf::RenderWindow & app ) { std::list < CExpPoint *>::iterator it = Items.begin(); while( it != Items.end() ) { ( * it )->Draw( app ); it++; } }
potem w pętli głównej sprawdzam sobie czas QueryPerformanceCounter( & s3 ); ExpList.Draw( App ); QueryPerformanceCounter( & e3 );
i sobie go wyświetlam if( 1 / Game.GetTime() < 58 ) { std::cout << ExpList.size() << "\t\tSec: " << e3.QuadPart - s3.QuadPart << "\n"; }
i otrzymuje takie wyniki na konsole (prawdziwy przykład): 10 Sec: 2010 12 Sec: 3402 12 Sec: 769 12 Sec: 1024 23 Sec: 7302 23 Sec: 1760
No i zastanawia mnie dlaczego przebieg po liście, która ma tyle samo elementów ma tak różne czasy wykonania. Jak usunę ifa to czasami między wynikami rzędu 200-300 dla 12-15 elementów wyskakuje wynik 10 000... Ogólnie problem jest taki, że z niewiadomych powodów mała gierka co jakiś czas ma klatkę czy dwie klatki po 40-50 FPS. Oczywiście nie są to zacięcia kiedy robię coś konkretnego. Np. tworzę bardzo dużą ilość elementów i mam spadek, potem za chwilę znowu to robię ale takich spadków już nie ma. |
|
DejaVu |
» 2012-10-24 15:43:13 Może znajdują się na innych pozycjach? np. część jest poza ekranem, a część na ekranie? |
|
akwes Temat założony przez niniejszego użytkownika |
» 2012-10-24 15:56:34 Wszystko poza ekranem zostaje wyrzucone w innej pętli, która poprzedza rysowanie.
// Edit
Ogólnie coś jest nie tak z tym rysowaniem... Czy zwiększone czasy w logice mogą się przekładać na czas rysowania? Zresztą... Obiekty, które nie mają logiki nawet potrafią mieć takie rozbieżności. |
|
DejaVu |
» 2012-10-24 16:06:05 Jak chcesz to podeślij mi swój kod na xxx@yyy.zz (jeżeli używasz SFML2). Skompiluję i odeślę exe - zobaczysz sobie czy to kwestia Twojego kodu czy też konfiguracji projektów (obrazki itp nie są mi potrzebne). |
|
akwes Temat założony przez niniejszego użytkownika |
» 2012-10-24 16:25:38 Ok przesłałem kod :) |
|
DejaVu |
» 2012-10-24 16:33:05 No to chwilę musisz poczekać bo mam jeszcze problemy z linkerem :P |
|
DejaVu |
» 2012-10-24 17:05:08 Na mailu masz paczkę - exe nie wymaga żadnych DLL-ek (kompilacja statyczna). Daj znać czy dalej masz te spadki. |
|
akwes Temat założony przez niniejszego użytkownika |
» 2012-10-24 22:30:14 Śmiga idealnie... ilość FPS jest oszałamiająca w porównaniu z wcześniejszą wersją...
Pytanie jest jakie są różnice między projektami lub z czego wynikają różnice? Kompilowałem SFML 2.0 na dwóch komputerach, kompilowałem w Realase i Debug i nic... :) |
|
« 1 » 2 |