Delphi > Firemonkey

Firemonkey 3D je pomalé

<< < (7/7)

raul:
Proc se vlastne musi delat priprava v tom renderu ? Neslo by to nekam prehodit (a taky pocitat na vice vlaknech) a pak jen zobrazit ? Pred nejakou dobou jsem zapasil s vykreslovanim (2D tedy) a celkove mi to zaclo chodit az prave v teto metode (ekvivalentu pro 2D). Uz si nepamatuju co a jak, ale priprava bitmapy a jeji nasledne pouze zkopceni v renderu vykazovalo psi kusy.

age.new:
Samozřejmě, že by šlo vytvořit si globální pole vertexů jinde a měnit jej pouze pokud je potřeba. Nedomnívám se ale, že při dnešních CPU je jednoduchý matematický cyklus motající 500000x nějaká zátěž. Na tomto místě se moc neušetří. Problém vidím v 3D engine starající se o kreslení.   

Radek Červinka:
>Zkusím si vymyslet nějaký analyzující kód, který vrátí pole TVertexBufferů, TIndexBufferů a TColorMaterialů podle toho jak jdou čáry za sebou. Aby se minimalizoval jejich počet a dopředu definoval jejich velikost. I tak jich ale bude pár set.

Proc za sebou a par set? Tak prvni vykreslim vse co je priklad cervene plne, pak zlute plne, pak cervene carkovane, pak zlute plne. Zas tak kombinaci tam neni ne?

vandrovnik:

--- Citace: Radek Červinka  21-01-2021, 08:53:03 --->Zkusím si vymyslet nějaký analyzující kód, který vrátí pole TVertexBufferů, TIndexBufferů a TColorMaterialů podle toho jak jdou čáry za sebou. Aby se minimalizoval jejich počet a dopředu definoval jejich velikost. I tak jich ale bude pár set.

Proc za sebou a par set? Tak prvni vykreslim vse co je priklad cervene plne, pak zlute plne, pak cervene carkovane, pak zlute plne. Zas tak kombinaci tam neni ne?

--- Konce citace ---

Pokud by vykreslil např. nejprve všechny červené a pak všechny žluté čáry, budou se mu překrývat jinak, než je tomu na výkrese (víc to samozřejmě vynikne u ploch než u čar).

Navigace

[0] Seznam témat

[*] Předchozí strana

Přejít na plnou verzi