Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 15. září 2010, 18:57:01 Předmět: SDL - výpočet FPS |
|
|
Zdravim,
Chtěl bych se zeptat jak mám v C+SDL vypočítat FPS?? |
|
Návrat nahoru |
|
|
Kaemon
Založen: 28. 07. 2007 Příspěvky: 33
|
Zaslal: 15. září 2010, 19:12:35 Předmět: Re: SDL - výpočet FPS |
|
|
Funkce SDL_GetTicks vrací počet milisekund od startu programu.
Pokud změříš čas před vykreslením(+herní logika) a po vykreslení a odečteš je (po-před) dostaneš čas jak dlouho trvalo vykreslit 1 snímek.
1000/"trvání 1 snímku" = FPS |
|
Návrat nahoru |
|
|
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 15. září 2010, 19:20:34 Předmět: Re: SDL - výpočet FPS |
|
|
jj díky to jsem už tam nějak vyřešil ale tedka bych to chtěl zobrazit na obrazovku a v tom je docela problém...
float fps = 1000.0f / dt;
text = TTF_RenderText_Solid(font, fps, col);
if (text != NULL) {
SDL_BlitSurface(text, NULL, screen, &rect);
SDL_FreeSurface(text);
}
nevíš jak by to šlo obejít abych to zobrazil pomocí TTF (když dám 2. argument funkce TTF_RenderText_Solid() float, tak to vypíše chybovou hlášku že argument má být typu const char * a ne float) nebo pomocí čeho bych to měl zobrazit to fps?? |
|
Návrat nahoru |
|
|
Kaemon
Založen: 28. 07. 2007 Příspěvky: 33
|
|
Návrat nahoru |
|
|
frca
Založen: 28. 07. 2007 Příspěvky: 1558
|
Zaslal: 15. září 2010, 19:46:54 Předmět: |
|
|
Když už, tak takto
kód: |
char text[10] = {0};
snprintf (text, 9, "%f", fps); |
a to z důvodu prevence obtížně laditelných chyb. _________________ www.FRANTICWARE.com |
|
Návrat nahoru |
|
|
Hanz...SDL
Založen: 19. 11. 2009 Příspěvky: 24
|
Zaslal: 15. září 2010, 20:05:06 Předmět: |
|
|
jj díky moc už to funguje na tuto funkci jsem si vůbec nevzpomněl... |
|
Návrat nahoru |
|
|
Ladis
Založen: 18. 09. 2007 Příspěvky: 1536 Bydliště: u Prahy
|
Zaslal: 16. září 2010, 08:36:30 Předmět: |
|
|
Třeba proto, žes ji neznal . _________________ Award-winning game developer |
|
Návrat nahoru |
|
|
|