10.08.2013 Views

Terrain Processing on Modern GPU - Computer Graphics Group ...

Terrain Processing on Modern GPU - Computer Graphics Group ...

Terrain Processing on Modern GPU - Computer Graphics Group ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!