.[ ČeskéHry.cz ].
Řezení objektů

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Poky



Založen: 29. 06. 2009
Příspěvky: 184
Bydliště: Písek / Plzeň

PříspěvekZaslal: 11. červenec 2011, 16:08:39    Předmět: Řezení objektů Odpovědět s citátem

Zdravím a mám pár dotazů ohledně sortingu:
(Používám OpenGL)

1)Co nejvíce z těchto věcí brzdí (přepnutí materiálu, shaderu, textury, vykreslení trojúhelníku z VBO, z RAM(poslání do GK))

2)V jakém pořadí sortujete vy

Předem díky za odpovědi.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1827

PříspěvekZaslal: 11. červenec 2011, 16:34:48    Předmět: Odpovědět s citátem

IMHO porovnavas dost neporovnatelne Smile Textury a shadery sa ku kontextu realne pripoja imho az ked tie trojuholniky zacnes vykreslovat (to bude otazka drivera, snad to niekto objasni). Vykreslovanie z VBO je podla mna fakt najrychlejsia vec. Uploadovanie dat na kartu (textur, meshov) je urcite najpomalsie. Ja osobne by som v hre najprv zapojil shader, potom material a vykreslil vsetky objekty s touto kombinaciou. Ale presne dopady na vykon neviem Sad

Ale vsetko velmi zalezi na tom, ake typy dat budes vykreslovat. Najpriklad v projekte, na ktorom robim teraz, vacsinou renderujeme velke mnozstvo meshov, kde kazdy ma uplne iny shader (tj aj ine vstupne textury typu shadowmapy, rozne screenspace textury, atd), uplne ine materialy (radovo 10-20 textur) a ako bonus sa casto (obcas aj kazdy frame!) meni jeho geometria (na CPU, ale to je iny pribeh) a tam si nepomozes skoro nijako Very Happy
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 11. červenec 2011, 20:16:46    Předmět: Odpovědět s citátem

U Direct3D bych si snad dokazál tipnout, které změny stavů nejvíc zpomalují.

U OpenGL to nejde jen tak určit. To API je dost komplexní a kód, který je potřeba na korektní převod OpenGL stavů do hardwarových stavů je netriviální, protože se tam motá hromada funkcí dohromady. Některé stavy se občas emulují přes shadery, což všechno zesložiťuje.

Nejvíc GPU výkonu rozhodně bere přepínaní framebufferů.

Nejvíc CPU výkonu asi bere přepínání shaderů.

BO (buffer object) může být fyzicky i v RAM a na výkonu se to nemusí projevit (hlavně když je bottleneck jinde).
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 12. červenec 2011, 13:55:17    Předmět: Odpovědět s citátem

Zhruba v tomto poradi:
1. RenderTarget
2. Textura
3. Shader

YMMV - zavisi to od tvojho aktualneho bottlenecku...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Poky



Založen: 29. 06. 2009
Příspěvky: 184
Bydliště: Písek / Plzeň

PříspěvekZaslal: 12. červenec 2011, 14:31:29    Předmět: Odpovědět s citátem

Díky, jenom možná takovej triviální dotaz, jak zjistim můj aktuální bottleneck Embarassed
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1827

PříspěvekZaslal: 12. červenec 2011, 14:32:01    Předmět: Odpovědět s citátem

To sme mu teda velmi nepomohli Very Happy
Ale urcite sa zhodneme na tom, ze by si to mal napisat aspon tak flexibilne, aby si mohol vyskusat rozne poradia vykreslovania a vybrat to najrychlejsie (imho tam ale podstatne rozdiely mat ani nebude).
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Poky



Založen: 29. 06. 2009
Příspěvky: 184
Bydliště: Písek / Plzeň

PříspěvekZaslal: 12. červenec 2011, 14:32:48    Předmět: Odpovědět s citátem

OK Smile

EDIT: TADY jsem našel nějakou práci na měření výkonnosti
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 12. červenec 2011, 15:45:01    Předmět: Odpovědět s citátem

Mozna by se mohl hodit gDEBugger http://www.gremedy.com/. Nebo podobny nastroje od vyrobcu GPU.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 12. červenec 2011, 17:29:59    Předmět: Odpovědět s citátem

No uplne na zaciatok by si mal zistit, ci si CPU / GPU bound.

Porovnaj vykon v 640x480 s 1680x1050 a hned to zistis.

Kedze Shader Units su uz dnes unifikovane, je celkom problem byt vertex-transform - bound, aj ked Triangle Setup stage vie stale este byt bottleneckom.

Pokial chces presne zistit, ktora cast GPU pipeline ide na doraz, pogoogluj si o tom nieco.

Skus napr. nvPerfHud.


Pokial ale mas vykon aky chces na HW akom chces, tak to proste neries.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna