IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Diskusia – Optimalizácia vykresľovanie v 2D hrách

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Neaktivní uživatel:26.3.2013 20:57

Dobrá práce, to by mě v životě nenapadlo řešit :) O prvním způsobu jsem tak nějak podvědomě věděl, ale nikdy jsem to neaplikoval, schválně to někdy zkusím :)

Odpovedať
26.3.2013 20:57
Neaktivní uživatelský účet
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:12.6.2013 22:01

Chtěl bych se zeptat. Úplně nevím co si mám představit pod
"vykreslete si ji do pomocné textury a místo spousty volání kreslení malých ploch vykreslujte jednu velkou" ?

Jinak zatím optimaluzuju pouze vykreslování viditelných ale mám každý objekt s vlastní texturou a ty iteruju a kreslím. Možná bude lepší když tedy udělám jednu velkou texturu a objekty budou v sobě držet pouze Source rectangle pro vykreslení správné části textury. Je to tak ? :)

Odpovedať
12.6.2013 22:01
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovedá na Petr Nymsa
Luboš Běhounek Satik:12.6.2013 22:27

"vykreslete si ji do pomocné textury a místo spousty volání kreslení malých ploch vykreslujte jednu velkou"

Pod tím si představ to, že když máš třeba terén složený ze spousty malých čtverečků, tak nevykresluješ v každém obrázku všechny čtverečky, ale "předvykreslíš" si je všechny jednou do velké pomocné textury (velké jako obrazovka).

Při dalších obrázcích nevykresluješ tu spoustu malých čtverečků, ale vykreslíš jako terén jen tu pomocnou texturu (a na ni pak další pohyblivé/animované objekty jeden po druhém).

Vykreslení jedné velké textury je několikanásobně rychlejší než vykreslení spousty malých, i když je výsledná plocha stejně velká, protože se eliminuje téměř veškerá režie.

Pokud se hýbeš pohledem po mapě, pak musíš tu pomocnou texturu samozřejmě aktualizovat a znova si ji vykreslit, případně tuhle optimalizaci přímo při pohybu po mapě nepoužívat
(případně by se to ještě dalo obejít tím, že by sis tu pomocnou texturu udržoval o kus větší než obrazovka - měl na každé straně rezervu a vykreslil až když pohledem dojedeš na kraj té pomocné textury (viz obrázek).

"Jinak zatím optimaluzuju pouze vykreslování viditelných ale mám každý objekt s vlastní texturou a ty iteruju a kreslím. Možná bude lepší když tedy udělám jednu velkou texturu a objekty budou v sobě držet pouze Source rectangle pro vykreslení správné části textury. Je to tak ?"
Ano, to je mnohem mnohem rychlejší a šetrnější metoda :) .

Odpovedať
12.6.2013 22:27
https://www.facebook.com/peasantsandcastles/
Avatar
Luboš Běhounek Satik:12.6.2013 22:33

Jinak jen pro porovnání, když jsem zkoušel psát svůj 2D engine, tak v full HD rozlišení jsem před těmito optimalizacemi měl asi 10 fps.
Když jsem kreslil jen textury, co jsou na obrazovce, tak jsem se dostal na 100 fps, když jsem začal místo spousty textur používat jednu velkou, ze které se tahaly všechny obrázky, tak se fps dostalo asi na 1500 fps a s cachováním terénu do pomocné textury jsem měl asi 3000 fps (když se s kamerou nepohybovalo).

Odpovedať
12.6.2013 22:33
https://www.facebook.com/peasantsandcastles/
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovedá na Luboš Běhounek Satik
Petr Nymsa:12.6.2013 22:35

Díky :) Zatím to vidím tak že jádro "enginu" přepíšu aby fungovalo na velké textury a nebralo malé vlastní textury které vykresluje. Navíc si tím zajistím větší flexibilitu...

Odpovedať
12.6.2013 22:35
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovedá na Petr Nymsa
Luboš Běhounek Satik:12.6.2013 22:40

Když se připomeneš zítra po 9. večer nebo v pátek, tak ti můžu poslat zdrojáky od tohohle http://www.itnetwork.cz/…ik-strategie pro "inspiraci" :)

Až dodělám bakalářku, tak snad zas budu pokračovat :D

Odpovedať
12.6.2013 22:40
https://www.facebook.com/peasantsandcastles/
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zatiaľ nikto nevložil komentár - buď prvý!