Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k První testy Vulkanu jsou pro mnohé studenou sprchou

Nevim. Zaostavat o 20% v alfaverzi mi neprijde zly. A pokud bude ve finale o 10% vykonnejsi, tak to muze byt rozdil mezi hratelny/nehratelny. Myslim ze je trochu brzo na to soudit jaky bude vysledek.
Navic jestli to chapu spravne, tak Vulkan muze hodne pomoct napr. lidem co maji "prilis" silne GPU v pomeru k CPU.

+1
+27
-1
Je komentář přínosný?

Přesně tak - pokud je to tuším dva dny po uvedení finální specifikace plně funkční a jenom o 20% pomalejší, než DX, pro které byla tato hra (pravděpodobně) primárně optimalizována, to celé navíc na beta ovladačích, tak u mě dobrý. :-)

Osobně bych si počkal na testy od někoho, kdo ideálně vyvíjí nějaký engine - až z někoho takového vypadne něco jako "chlapi, tak jsme si s tím dva týdny intenzivně hráli a podle našich testů to vypadá takto", tak to bude trochu něco jiného.

+1
+31
-1
Je komentář přínosný?

Hlavní výhoda Vulkanu je v tom, že má být rychlejší, pokud je úzkým hrdlem výkon procesoru.

Tady jde vidět, že úzkým hrdlem je výkon GPU, protože se výsledky mění podle rozlišení. Tudíž zde efektivita API nehraje roli, ale ukazuje se tu, jak dobře je implementováno programování GPU (např. kompilátor shaderů má významný vliv na výsledky).

Využití Vulkanu bych spíš viděl u her náročných na draw calls, jako např. strategie. Zrovna ve hře tak jednoduché na vykreslování z pohledu CPU jako Talos Principle to nemá šanci být vidět.

+1
+16
-1
Je komentář přínosný?

Takže by to mj. mohlo pomoci třeba APU, kdyby místo jednoho jádra "na plný koule" grafiku dokázalo krmit více jader na minimálních taktech a zbylo víc TDP pro grafickou část.

+1
+14
-1
Je komentář přínosný?

Začinam rozmyšlať ci nečitam stale dokola rovnaku pesničky o tom ako to treba cele od zakladu nakodit a do puntiku optimalizovat. Pretože pokial sa takto isto vyladia hry pod DX11 tak CPU limit je minimalny a hry behaju ako z praku, stači ked sa pozriem na pecky ako Zaklinač 3 alebo starši Battlefield 4 v MP. Pokiaľ bude potrebne vyvinuť maximalne usilie aby sme mali aspon o 10-15% lepsi vykon v bežných hrach oproti DX11 tak to vidim velmi biedne s novymi APIs. Taky DX12 obmedzeny navyse len na jeden OS pouzije par odvažnych hlavne tych co podporuje AMD. Inak to vidim naozaj dost biedne s rozsirenostou tychto na kodenie naročných API. Hlavne pokial tu mame uz zabehnute- odladene enginy a hry pod DX11 nevidim velku motivaciu zo strany developerov investovat obrovske množstvo usilia do niecoho čo prinesie tak maličky benefit za tak velku cenu.

+1
-17
-1
Je komentář přínosný?

myslim ze stavis dum od strechy a pokracujes zdmi az k zakladum, ktere stavis jako posledni. tohle uvazovani je uplne na hlavu postavene. API Vulkan(DX12 umi daleko lepe vyuzit potencial GPU, pokud ho GPU podporuje. tecka. jako nema cenu nad tim zbytecne premyslet zvlast u cloveka, ktery si neumi sam udelat vlastni nazor, tak to ber jako fakt
tvoje predstava, ze ted vsichni vyrobci her se vrhnout do portaci na nove API a ze zacnou studia nakladat miliardy dolaru jen abycho si tu samou hru zahrali pod novym API s o malo vice fps, tak je snad az k smichu. nikdy se to s novymi API nedelo a nebude se to dit. ja nevim jak te takova blbost vubec muze napadnout.
na novym api se budou delat hlavne hry, ktere se teprve zacnou poradne vyvijet nebo jsou v rannem stadiu vyvoje. jako myslet si ze studio, ktere ma pred dokoncenim hru tak vse zahodi a zacne to delat na dx12/vulkan, muze snad je blazen. to mozna tak nejakej tvuj projekt ve photoshopu, kdy zahodis 2 hodiny prace a zcnes to delat uplne jinak a lepe.

+1
+14
-1
Je komentář přínosný?

No ja si myslim že sa DX12 a Vulkan nezačne použivat vo velkom ani v projektoch buducich v tom je jadro mojho prispevku. Pokial by som mal porovnavat očakavany uspech a presadenie novych API tak by som prirovnal DX12 k uspechu aký predviedol DX10. :)

+1
-11
-1
Je komentář přínosný?

CPU
Uspech pre vyrobcov HW je to uz len z dovodu, ze v hre viacjadrove CPU je mozne vytazit rovnomerne na nizsich taktoch. Pretoze to je obrovska uspora pre smartfony, tablety, lacne PC. Z toho vyplyva vacsia vydrz baterie, mensie zahrievanie, nizsi hluk.

Uspech pre herne studia je, ze im zostava viac volneho dostupneho CPU vykonu a teda nie su tolko limitovani, co moze a nemusi byt plus pre uzivatela. V dobrom ponimani moze uzivatel dostat rozmanitejsi obsah.

GPU
Uspech z pohladu vyrobcov HW je, ze SP v grafike vdaka lepsiemu API pojde rozumnejsie vyuzit (co sa nedalo velmi v DX11 a nizsom), pretoze viac jadier CPU moze dodavat data. U DX11 a nizsom to znamenalo v narocnejsich hrach, ze nataktovanim alebo vymenou CPU za vykonnejsi stupol vykon vyrazne aj GPU.

Uspech z pohladu uzivatelov je, ze im pojdu hry plynulejsie s ovela nizsimi FPS prepadmi. To znamena stabilnejsie FPS, roznorodejsi graficky obsah bez dopadu na vykon. A az na poslednom mieste bude o par percent vyssi vykon v FPS - no potesi to.

+1
+15
-1
Je komentář přínosný?

DX12 omezeny na jeden OS, ktery ale tvori naprostou vetsinu trhu. Windows + XBOX One.

Z majoritnich platforem zbyva pouze PS4 co nepouziva DX12.

+1
-9
-1
Je komentář přínosný?

Určite by som neplietol do PC sfery konzolu Xbox One.

+1
+6
-1
Je komentář přínosný?

Mozna by si se v ramci sve omezenosti mel poradne rozhlidnout jak to realne vypada v hernim svete. Win + Xbox rozhodne nejsou vetsina trhu.

+1
+12
-1
Je komentář přínosný?

Plus je nutno připočíst si ještě fakt, že ze všech desktopových Windows je DX12 v současnosti jenom na cca 12%, u uživatelů Steamu na třetině (což mi přijde pro "trh" trochu relevantnější). Takže opírat se o vlastnosti DX12 je v současné době i pro Windows nerozumné.

+1
0
-1
Je komentář přínosný?

Plus APU v XBox One má podporu DX12 spíš jenom na papíře.

+1
-5
-1
Je komentář přínosný?

Mnoho z vas tu ma skreslenu predstavu, ze hned ako zacnem pouzivat nove API tak automaticky ide vykon hore. Blbost. Vulkan aj DX12 su hodne explicitne a zlozite API. Napr. tutorial na vykreslenie jedineho trojuholnika vo Vulkane ma 2500 riadkov kodu! Podobnu vec by ste v OGL zvladli radovo na par stoviek. Takze naucit sa v tom chodit bude chciet cas, najma co sa tyka synchronizacii, spravy pamate a pod...

+1
+5
-1
Je komentář přínosný?

Navyse ked vidim vykon OGL implementacie v tej hre, ktory je miestami okolo polovice voci DX, tak to by som sa hanbil vydat... to muselo strasne prasa programovat

+1
-1
-1
Je komentář přínosný?

Presne tak suhlas. A tych 2500 riadkov dava slobodu vyrobcom engine-ov, zvolit strategiu vo vykreslovani tak, aby dosiahli lepsi vykon v tom smere, aku strategiu zvolia.

Takze casom sa to utrasie tak, ze "engine" zaobali tieto stovky kodov tak, aby vyvojari potom uz len trojuholnik alebo cely objekt prepouzili.

Pretoze je rozdiel robit engine na first person shooter hru, je rozdiel robit engine na simulacne hry, strategicke hry. Snad nikto necaka, ze kazde studio si zacne kodit hru po kazdom trojuholniku.

+1
+2
-1
Je komentář přínosný?

Prosím o odkaz na ten trojúhelník s 2500 řádky kódu. Já jsem zatím stáhl jen vrtulník (docela pěknej), kde je 8 shaderů a celkem 616 řádek včetně komentárů

Tak nějak nechápu co by se mělo řešit na 2500 řádcích, to musí být nějaké nedorozumění.

+1
-2
-1
Je komentář přínosný?

v SDKcku Demos/tri.c

+1
-6
-1
Je komentář přínosný?

No je to subjektivní. V Cčku to samozřejmě jde i na jeden řádek :P
Originální pisatel pravděpodobně cituje tento článek: https://developer.nvidia.com/transitioning-opengl-vulkan, jinak nějaké demíčka jsou v SDK od LunarG
Některé věci se musí/je radno prostě ve Vulkanu psát explicitně. I "quick reference" kartička je delší, bude asi dokonce (bohužel) víc API funkcí.

+1
-3
-1
Je komentář přínosný?

Neviem, ci to je v tomto pripade s trojuholnikom (nechce sa mi to skumat), ale polygon v 3D resp. trojuholnik, ktory ma byt ako "stavebna" jednotka 3D objektov, moze mat ovela viac vlastnosti, nez len tri usecky a tri body ich spajajuce.

Moze mat implementovanu drobnu deformaciu na zaklade bocnych sil (naraz, roztahovanie, stlacanie) a po uplynuti sily sa plynule vratit do svojho povodneho stavu.
Moze mat implementovane informacie o zakladnych farbach, ktore dokazu rozne vstupy (svetlo, tien, odraz) modifikovat, aby danemu prostrediu zodpovedali.
Moze mat definovane dalsie vlastnosti, ako pohlcovanie-odrazivost vstupnych farieb, schopnost odrazu, definovanu hranicu znicenia a podobne.

Vdaka obrovskemu mnozstvu SP budu moct takto uz len jednoducho modifikovat vygenerovane polygony ako vodu, zelatinu, gumu, plast, drevo, diamant.

Ono je stale obrovsky priestor v programovani 3D, ktory este ani z daleka nevyuzivame naplno. Ano, urcite ho este blokuje HW, ale doteraz ho blokovala aj kombinacia komplikovanych ovladacov a odflaknuteho API (vyvijalo sa len nabalovanim novych vlastnosti).
Nemusi to byt 4k, 8k, alebo obrazova kopia 1:1 voci realnemu svetu. Uplne bude stacit fullHD a ked budu vediet dat 3D objektom vlastnosti zo skutocneho sveta.

+1
-6
-1
Je komentář přínosný?

Ty techniky existují už desítky let (můžete je vidět ve filmech), ne-li z dob kdy počítače ani neexistovaly. Akorát se nehodí pro (celoobrazovkové) real-time renderování (za takové peníze, které je průměrný člověk ochoten dát).

API odfláknuté není, akorát se na něm podepisuje zub času a otěže zpětné kompatibility a konzervativního návrhu. Taky nezapomínejme, že Vulkan není silver bullet řešení (většině normálních lidí bude dál stačit OpenGL - ne-li jen CPU na triviální věci, hodně se k Vulkanu dostane jen nepřímo skrz nějakou knihovnu/engine a jenom omezenému množství vývojářů nabízí přesně to co potřebují). Vulkan Vám magicky neztrojnásobí hrubý výkon Vaší GPU a neumožní skoro-fotorealistické vykreslování( potřebujete tipuji tak minimálně 5x výkon dnešních GPU na 60 FPS).

+1
-7
-1
Je komentář přínosný?

Myslim ze to urcite nadsenie z kazdeho noveho API alebo novsej verzie existujucich API ma na svedomi hype (to nechutne nedavno spominane slovo :-)) a tak trochu aj novinari a celkovo firmy ktore to prezentuju (teda hlavne hw vyrobcovia v tomto pripade) pretoze im to moze logicky zdvyhnut predaje. Vsetci by asi boli radi ked by stacilo na existujucom HW akurat zmenit kniznicu a zrazu by stupol vykon o 20-30-50%. Ale to by skor hovorilo bud o nejakom fakt zlom prvotnom navrhu alebo bugu pri vydani co sa predsa len tak casto nestava (teda s tak fatalnym dopadom na vykon)
Vulkan aj DX12 nieje o koncovych zakaznikoch a vlastne ani priamo o vykone. Doterejsie API limitovali pocet spominanych drawcalls ale aj napriklad komunikacia s gpu (renderview) iba z jedneho threadu (ogl). To docela komplikuje navrh enginu ako aj jeho optimalizaciu a skalovanie. Nieje to neriesitelne ale stoji to cas a tym aj financie. Vulkan a DX12 by mali toto riesit. Jednak moznostou lepsieho vyuzitia viacerych jadier na cpu a tym aj viacerych threadov na pracu s grafikou ako aj vecsieho poctu drawcalls a dalsich funkcii. Je to ale trochu aj za cenu jednoduchosti (vulkan). Toto ale umozni vyvojarom zjednodusit navrh enginu alebo pridat niektore moznosti ktore boli doteraz narocne.

+1
-2
-1
Je komentář přínosný?

Pokud to dobre chapu, Talos Principle zatim misto plne implementace pouziva jen jednoduchy jednovlaknovy wrapper. Pro vysvetleni - zde je vyjadreni vyvojare z Croteamu k tomu, proc je vykon zatim suboptimalni a co jeste zbyva udelat:
( zdroj: https://steamcommunity.com/app/257510/discussions/0/412447331651559970/#p2 )

****************
Edwin,

engine design for Vulkan is basically consited of three major parts:\

1)
Port. Make it work as fast as possible just by wrapping current engine design around Vulkan. Avoid all pitfalls and bottlenecks. This is what we did by now and released as patch for Talos.

2)
Use Vulkan for multi-threaded rendering. Our engine is designed really well for multi-threaded rendering, but we have only our wrapper for it - calls to graphics API (like Vulkan) are not multi-threaded. Yet.
That being said, this is the next step what we'll do. And probably release that also as patch for Talos. I tried to do that with Direct3D 11 long time ago (support for its deffered contexts), but it was too much pain and too little or even no gain. :( That's just one of reasons why we decided to stick with our own approach for MT renderer for that long. :/

3)
Redesign engine for Vulkan. This is the biggest step and can be split in two:

3a)
Precache all rendering states (which mostly mean materials in game) up front. This will make rendering calls much simplier and faster. So, instead of deciding at rendering time what is needed for a material to be rendered via Vulkan, do this at loading time and then when material needs to be rendered just give it to Vulkan, via one or two simple function calls.

3b)
Precache all geometry, material, textures, everything that is needed for rendering an object up front. This basically creates so called command buffer ready for Vulkan, and nothing extra needs to be set or created at render time.

3rd part of port is, obviously, the most complex one, and it'll take time to change engine design for it, step-by-step.

Hope I explained this well. :)
DEN
****************

+1
+13
-1
Je komentář přínosný?

presne tak. oni jednoduse udelali 1) a lidi na tom hned stavej svoje dohady nebo dokonce vynasej prognozy a teorie.
az bude postaven cely engine na dx12 nebo vulkan tak si muzem vazne povidat

+1
+1
-1
Je komentář přínosný?

Pre mna je studena sprcha neexistujuci vyvoj technologi za posledne roky. Toto aspon niekam smeruje. To kam este len zistime. Dufam ze nie tam kam predpokladam ..

+1
-4
-1
Je komentář přínosný?

není uz na case testovat ve 4k ? omg :(

+1
+4
-1
Je komentář přínosný?

Si FHD výsledek vydělte čtyřma a je to skoro ono. Tak testující neměl zbytečnej 4k monitor no...
Na neformální test, jakýmž to jest, to stačí a pointa těch testů je stejně úplně něco jiného.

+1
+2
-1
Je komentář přínosný?

Jestliže to jede jen na 1 threadu tak je to parádní výsledek jak proti OGL tak proti DX11 kde to jede multithread.Nebo se pletu ? Navíc je to první verze ovladače.

+1
-4
-1
Je komentář přínosný?

Na první nehotovou verzi, na které běží něco, co je od začátku počítá s DX11 je to imho výborné...

+1
0
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.