Idézet: Sparow2 - Dátum: 2012. 08. 31. 14:14
Ja, mondjuk ilyen alacsony szintű, hw közeli grafikus programozást nem csináltam, messze áll tőlem a grafika.
Csak kíváncsiságból kérdezem, hogy mi vele a baj? Nem úgy működik, ahogy le van írva? Vagy nagyon nyakatekert módon kell porgramozni? Mert azért csak fejlesztenek rá, és nem halt ki.
ha már témánál vagyunk, vegyük az intel termékpalettát az opengl tükrében, egy minimális (tényleg csak pontokban, nagyvonalakban, a teljesség igénye nélkül összeszedett) gondolatmenetben.
az elmúlt kb 15 évben az intel a következőt csinálta:
-az intel GMA 95x sorozat - ami egy 2.0-ás pixel shadereket biztosítani képes hardver, ennek ellenére mégsem volt képes az intel olyan drivert írni hozzá, amin keresztül a glsl (avagy a magas szintű shaderek openglben) elérhető. a driver tulajdonképpen effektíve egy nvidia TNT2-es szintet tudott produkálni, amit valamikor 1998ban gyártottak. a teljesítménye kritikán aluli.
-az ez előtti grafikus chipeknek és drivereinek minősége tragikus. néhánynak olyan fejletlen drivere van, amely egy egyszerű inicializációtól kékhalálba viszi a gépet, és semmilyen szokásos opengl ablakozóval nem működik együtt
-a későbbi új-generációs intel gpuj-k nem tudták, ami rá van írva. nem volt igazi shader támogatás, majd ezt ellensúlyozva az intel kézzel megcsinálta a népszerűbb játékokhoz (pl doom3) a shader támogatást, de csak úgy, hogy ezek a játékok képesek legyenek elérni ezt.
-ezen kártyák teljesítménye szintén kritikán aluli, a memória elérés sebessége valahol egy voodoo2 közelében flangál, jelzem, itt már 2008at írunk
de ez még nem is igazán lett volna baj, elvégre ezeket a kártyákat az intel sosem reklámozta úgy, mint modern gpu-kat, amelyek alkalmasak a modern 3d igények kielégítésére.
az új HD graphics szériát viszont igen.
na tehát akkor nézzük is, hogy mi a baj az intel legújabb szériáival, amivel az elmúlt 2-4 évben erőlködik:
-a függvényhívások overheadje túl nagy. 3x-4x akkora az az idő, amelyet a szöszmötöléssel elveszteget az intel technológiája, mint az, amekkora időt az amd vagy az nvidia cuccok vesztegetnek elaz elmúlt 15 évben az intel semmit nem tett azért, hogy ez jobb legyen.
-a VBO-k (mely révén a vertex objektumok közvetlenül a videómemóriába tölthetők és onnan rajzolhatók) kezelése, az ezzel kapcsolatos memóriába való swappelés, az ezzel kapcsolatos memóriafoglalások, amikor megjelentek specifikációként, a többi gyártónál olyan 2003ban 1-2 hónap alatt teljesen hibátlanra lettek gyúrva. most már 2012-t írunk, az intelnek ez mégsem sikerült normálisan. amennyiben viszonylag nagy, pár száz megás memóriaterületekről van szó, az intel memóriacímzője annyira instabil, hogy komoly driverterhelés mellett elszáll a szoftver, a driver, legrosszabb esetben elkékhalálozza magát az operációs rendszer
-olyan alapvető dolgokkal is bajok vannak, mint a textúrakezelés. bizonyos körülmények között az intel driverek nem bindelik fel a futószalagokra a megfelelő textúrákat, az objektum fehér lesz. bizonyos körülmények között a textúrát egyszerűen nem tölti fel, nem azért, merthogy valami speciális textúra lenne, vagy elfogyott volna a memóriája (persze ez sem indok, mert az opengl specifikációja szerint a swap is autómata), hanem mert épp úgy tartja kedve, hogy ő most teljesen egyszerű rgb vagy rgba textúrákat sem tölt fel.
-multisample és aniso bekapcsolásának hatására a teljesítmény néha a negyedére esik
-a mipmappelést néha -bizonyos mátrixok hatására - lowestre rakja a driver, amitől az egész játék úgy néz ki, mintha a quake2-t játszanád voodoo1-el
-bizonyos kötelezően támogatott alapvető függvények egyáltalán nincsenek implementálva, és épp drivertől-generációtól függ, hogy éppen mi az, ami nem működik, és ezeket általában meg sem próbálják javítani
-a memóriasávszélesség, ami rá van írva - hazugság. valódi körülmények között már a második post-processz ciklustól egyszerűen meghal az igpjük (meghal = 5 fps). az igpjük - bár 2012-t írunk - memória management területén egyszerűen képtelen még egy geforce2 teljesítményét is egyáltalán megközelíteni.
-ugyanez vonatkozik az árnyékkezelésre. egy komolyabb geometriából előállított szimpla 2048x2048as shadow map 3 fps-re rántja a rendszert.
-a textúrázó egységek teljesítménye is gyenge, és kevés van belőlük.
-a shader fordítójuk gyakorlatilag használhatatlan. vagy lefordul a shader, vagy nem, vagy megcsinálja azt, ami be van írva, vagy nem, vagy van kép, vagy nincs...
-az intel igpk nem tudják azt a vertex/sec mennyiséget, ami rájuk van írva, vagy legalább elvárható lenne. 300ezer polygon fölött - amennyiben valós körülmények között van tesztelve ez a mennyiség - a gpu lecsuklik 25 fps alá, és akkor semmi mást nem csináltál, csak polygonokat rajzoltál.
-az intel igp-k teljesítménye katasztrófális. hogy ezt az intel ellensúlyozza, alkalmazásspecifiklus optimizációk révén rágyúrt a népszerű játékok grafikus motorjaira a driverből, azonban ezek az optimizációk nem igazán működnek olyan szoftverekben, amelyekre az intel nem optimizál külön, míg más gyártók esetében a teljesítményoptimizációk általánosságban minden szoftverre érvényesek
-összességében elmondható, hogy az intel által készített igp-k minősége messze elmaradt volna az elvárt szinttől már 9 évvel ezelőtt is, nemhogy most. a helyzet mind a gpu oldaláról, mind a driver oldaláról tragikus, és az intel semmit nem tett azért, hogy ezeket a hibákat orvosolhassa, nem látok olyan törekvést sem az intel részéről, amennyiben ezekkel a gondokkal bármit is kezdeni akarna.
röviden és tömören ez a helyzet intel oldalon, én a piaci részesedés miatt a magam részéről sokat küzdöttem az intel kompatibilitásért, de ami sok, az sok. én többé a kisujjamat sem fogom mozdítani értük. az architektúrájuk az alapoktól kezdve használhatatlan, a problémák mélyek, súlyos fejetlenségre, tehetségtelenségre, tehetetlenségre, telhetetlenségre, arroganciára utalnak. az intel pedig az arrogáns hozzáállása révén nem érdemli meg a fejlesztők szimpátiáját. a összes többi gpu gyártó több nagyságrenddel jobb minőségű termékeket ad ki. az intel inkább maradjon a cpunál.