[ eva01 @ 20.12.2005. 19:06 ] @
Ovo me odavno muči: 1. Recimo ako moj program može da postigne 200fps, ali ja prilikom kreiranja device-a zatražim sinhronizaciju sa Vertical Retrace-om. Gde se moja aplikacija blokira, tj. gde čeka na Vertical Retrace? Da li u Present-u? Da li se uopšte blokira ili se prosledi kontrola nekim drugim procesima? 2. BeginScene i EndScene ograničavaju "prostor" u kome mogu da rendam objekte. Ipak recimo da više modula koda crtaju nešto po ekranu, da li da svaki od njih ograničavam posebno sa BeginScene i EndScene ili da maltene celu glavnu petlju podvučem pod jedan par ovih funkcija? Naravno radi oboje, ali me ovo ograničavanje totalno zbunjuje jer mi samim postojanjem sugeriše da bih trebao izolovati sav rendering unutar jednog poziva, a svo procesiranje podataka (ono što nema veze sa d3d-om) vani. 3. Komande ka d3d-u se baferuju, ali šta je sa pozivom Present? Pretpostavljam da se program blokira dok se ekran ne iscrta. Ukoliko imam double buffering površi ekrana, da li to znači da će Present zaustaviti program sve dok d3d ne obradi sve komande koje se nalaze u njegovim baferima? Ako je tako, onda pretpostavljam, da bi bilo dobro da prvo pošaljem sve batch-ove na render, zatim obavim sve cpu zahtevne operaije, i na kraju pozovem Present. |