.[ ČeskéHry.cz ].
SDL - jiná aplikace než gameloop

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 22. květen 2010, 23:54:06    Předmět: SDL - jiná aplikace než gameloop Odpovědět s citátem

Zdravím,
neznáte nějaký jednoduchý příklad sdl aplikace, která nežere 100 % CPU a zároveň nepoužívá SDL_Delay? Mám tušení, že bude nutné použít SDL_ExposeEvent, ale to je tak všechno.
Díky.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 23. květen 2010, 12:33:04    Předmět: Odpovědět s citátem

A co čekáš od nekonečné smyčky? Wink Jasně, když mám editor v SDL, tak tam jen čekám na zprávy, takže žere 0 % CPU (SDL_WaitEvent). Normální hry ale chtěj vykreslovat jeden snímek za druhým. Tady moc možností nemáš. Hra nemusí kreslit víc snímků, než kolik vykresluje monitor - takže zapni VSync a doufej, že driver grafiky sám nečeká smyčkou. Pokud VSync nemáš, tak si musíš omezit FPS sám a v přebytku času ti nezbyde než čekat. Před pár lety jsem si udělal úpravu Ljágušky že při nadbytku FPS čekal a snížil jsem tak zatížení CPU na třetinu (šlo by i míň, jenže člověk musí počítat s rezervou - problém ve hrách, kde FPS může hodně kolísat).
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 23. květen 2010, 14:44:32    Předmět: Odpovědět s citátem

Takže pokud jde o eventy, už je to jasné. Ale co s tím vykreslováním? (OpenGL sem teď nepleťme, jen klasické 2D SDL.) Například mně vůbec nechodí zpráva SDL_VIDEOEXPOSE. Navíc se mi zdá, že se to okno překresluje automaticky.

Viz příklad. Můžu přes to tahat okna, jak chci, a pořád je to zelené.
http://nopaste.ceske-hry.cz/223040
Z WinApi jsem byl zvyklý, že jsem musel okno překreslovat sám.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 23. květen 2010, 15:25:08    Předmět: Odpovědět s citátem

OpenGL jsem sem nepletl, VSync je obecná věc. Je to vlastnost 2D, 3D, přehrávání videa i kompozitního desktopu.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 23. květen 2010, 18:09:53    Předmět: Odpovědět s citátem

Pochopitelně. To jsem psal preventivně Wink
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna