Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
Terrain Processing on Modern GPU - Computer Graphics Group ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Předtím si však ještě vysvětleme hlavní důvod obtížnější aplikace starších algoritmů. Je to<br />
především přílišná zátěž CPU. Při interaktivním zobrazování připadá na každý snímek<br />
maximálně 30µs. Z pohledu <strong>GPU</strong> je to čas, za který je potřeba nakreslit všechny objekty viditelné<br />
části scény (resp. všechny objekty, které jsme označili za viditelné, nebo o jejichž viditelnosti<br />
jsme nedokázali rozhodnout). Z pohledu CPU je to čas, během kterého se musí provést všechna<br />
logika aplikace, která se synchr<strong>on</strong>ně nebo asynchr<strong>on</strong>ně provádí přibližně se stejnou frekvencí<br />
jako zobrazování. V případě počítačové hry to může být například řešení vzájemných kolizí<br />
objektů, přehrávání prostorového zvuku, řízení chování umělých bytostí nebo zpracování<br />
komunikace hry s hráčem či herním serverem. V neposlední řadě musí zbýt nějaký čas na<br />
rozhodnutí, co je a co není vidět, a vše co by mohlo být vidět, musí být předáno <strong>GPU</strong> ke<br />
zpracování. Čím více času CPU strávíme výpočty viditelnosti, tím více času <strong>GPU</strong> můžeme ušetřit<br />
při zobrazování vynecháním neviděných dat. Dokud bylo zobrazování prováděno pomocí CPU,<br />
nebo dokud CPU bylo řádově výk<strong>on</strong>nější než <strong>GPU</strong>, bylo zpravidla výhodné strávit velké množství<br />
času rozhodováním a optimalizací vykreslovaných dat. Při dnešních rychlostech <strong>GPU</strong> ale řada<br />
optimalizací ztrácí význam, neboť šetří čas (<strong>GPU</strong>), kterého je dostatek, za cenu času (CPU),<br />
kterého se nedostává.<br />
Dalším negativem starších algoritmů je tzv. „small batch problem“ popsaný v (9) nebo (10).<br />
Souvisí s tím, že každá utilizace grafické karty stojí nějaký čas, který si můžeme představit jako<br />
k<strong>on</strong>stantní cenu za to, že využijeme její službu 12. Jestliže stokrát využijeme její službu pro<br />
zobrazení 1 trojúhelníku, zaplatíme stokrát více, než kdybychom zobrazili všech 100<br />
trojúhelníků najednou. S přibývajícím počtem trojúhelníků zpracovaných najednou se snižuje<br />
význam ceny utilizace <strong>GPU</strong> v porovnání s časem potřebným na jejich zobrazení.<br />
Je pochopitelné, že algoritmy, které patřičným způsobem nezohledňují výk<strong>on</strong> <strong>GPU</strong>, budou dnes<br />
hůře použitelné. Mnohdy je však možné takovýto algoritmus modifikovat tak, aby i dnes<br />
poskytoval zajímavé výsledky.<br />
Obrázek 2.5: Delaunayova triangulace nad 8 vrcholy. Žádný z vrcholů nezasahuje do kruhů<br />
opsaných trojúhelníkům, jichž není součástí.<br />
12 Velmi zjednodušená představa. Tato cena ve skutečnosti není k<strong>on</strong>stantní, ale také není dobře měřitelná<br />
a toto zjednodušení je zpravidla postačující.<br />
20