Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML] Spadki FPS

Ostatnio zmodyfikowano 2012-10-24 22:45
Autor Wiadomość
akwes
Temat założony przez niniejszego użytkownika
[SFML] Spadki FPS
» 2012-10-24 15:35:22
Hm...

Mam sobie taką listę:

C/C++
std::list < CExpPoint *> Items;

na której wykonuję sobie taką funkcję

C/C++
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
C/C++
QueryPerformanceCounter( & s3 );
ExpList.Draw( App );
QueryPerformanceCounter( & e3 );

i sobie go wyświetlam

C/C++
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.
P-67373
DejaVu
» 2012-10-24 15:43:13
Może znajdują się na innych pozycjach? np. część jest poza ekranem, a część na ekranie?
P-67374
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.
P-67375
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).
P-67376
akwes
Temat założony przez niniejszego użytkownika
» 2012-10-24 16:25:38
Ok przesłałem kod :)
P-67377
DejaVu
» 2012-10-24 16:33:05
No to chwilę musisz poczekać bo mam jeszcze problemy z linkerem :P
P-67378
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.
P-67380
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... :)
P-67439
« 1 » 2
  Strona 1 z 2 Następna strona