Du får väldigt gärna peka ut exempel som visar att jag har fel:
Så vitt jag kunnat läsa mig till har aldrig GameWorks i sig varit orsaken till att spel haft problem, det är sättet man valt att använda GameWorks som resulterat i problem, typiskt för att man tagit i onödigt mycket med effekter. Det andra problemet är att GameWorks använder de absolut senaste funktionerna från DX11, något som typiskt är rätt dåligt testat i drivarna.
I Witcher 3 insåg man att HairWorks var ett prestandaproblem på allt utom Maxwell då ingen annan GPU har lika hög tessellation-kapacitet. Både utvecklaren själv och AMD hade, enligt denna intervju, tid/möjlighet att lägga till logik för att dynamisk detektera faktiskt kapacitet och baserat på den informationen minska tessellation-nivån, det är bara ett heltal som ska specificeras, så inte precis raketforskning och Nvidia kan inte beskyllas för att sabotera då man lämnat den knappen helt i händerna på utvecklaren.
" The developer could change the tessellation density based on the specific GPU detected (lower for a Radeon GPU with less tessellation capability, for example) but that would require dedicated engineering from either CD Project or AMD to do. AMD, without access to the source code, should be able to make changes in the driver at the binary level, similar to how most other driver optimizations are built."
Sedan pratar alla här om GameWorks som om det är en egen produkt. Det är bara ett marknadsnamn på en rad olika bibliotek, en rad plugins till Maya/3D studo max, samt en rad utvecklingsverktyg / debuggverktyg / visual studio plugins för att göra olika typer av visuella effekter i spel. Biblioteken är fristående, så varje spelutvecklare kan välja bara de saker som är vettig för sin titel. Är också fullt möjligt att via inställningar välja in / ta bort finesser, t.ex. HairWorks.
GameWorks är (idag, se nedan) inte på något sätt en drivrutin, många saker går att köra både på PS4 (en variant av OpenGL ES), XBO (DX11 med DX12-lika extensioner), Android (OpenGL ES) och DX11. D.v.s. det ligger ovanpå ett API för 3D-grafik och framförallt ovanpå drivrutiner.
Just den här punkten verkar väldigt många ha missat. Vad DX12 kommer leda till är att högnivåbibliotek likt GameWorks kommer bli än mer kritiskt för att spelutvecklare ska kunna hålla sina tidsramar och budgetar. Och om något måste det vara att öppna Pandoras ask för AMDs del för i DX12 titlar, precis som du skriver, kommer något som GameWorks ligga ovanpå DX11 som är relativt högnivå och i sin tur ligger ovanpå ett relativt stort drivrutinslager där man kan göra många "tricks".
Med DX12 flyttar majoriteten av den logiken och därmed komplexiteten samt kontrollen in i t.ex. GameWorks. Försökte gräva lite hur många utvecklare Nvidia har allokerade till GameWorks, det jag fick fram var att senaste året har man haft över 300 heltidstjänster på detta.
AMD har inte i närheten dessa resurser att lägga på middleware, spelstudios har valet att göra motsvarande jobb själv eller använda något som är färdigt. Det är gratis att använda GameWorks, sätt dig i positionen av en spelstudio som ska förklara för sina finansiärer att det minsann är bättre att skriva detta från scratch (i vissa lägen skulle detta rent teknisk kunna vara sant, tvivlar på att speciellt många lyckas övertyga "bean counters" om det).
AMD pratade ju en hel del om att starta ett OpenWorks (eller OpenWreck för att använda @ParasiteX terminologi), dessa tankar lade man nog ner samma sekund man insåg vilken mängd ingenjörstimmar som ligger bakom GameWorks.