Skrivet av Swedman18:
I en sån mening verkar du samtidigt anklaga dem andra för att vara AMD fanboys! Så varför inte? Men det här är en tråd om AMD's produkter så klart vi lägger energi på att klarna ut på vad som stämmer.
Att det är speltillverkarens ansvar att implentera GameWorks stämmer inte. Det måste ju vara grafikkortstillverkarens ansvar, lika mycket som när vi hejar och buar på AMD's ska göra nyare drivrutiner till X spel så ligger det på Nvidias ansvar att lägga på GameWorks. http://kotaku.com/why-are-amd-and-nvidia-fighting-again-15949..., där beskriver man att Nvidia ger pengar för att implentera GameWorks. Och då jämförde man Mantle som motsvarande, vilket kritiker menade var "orättvist" för att det gick inte att använda dem för Nvidia's grafikkort.
Så vad är AMD's nya GameWorks? Vad man verkar marknadsföra är just DirectX12 och lovar 100% kompatibilitet. Det lovar Nvidia alltid med, är exklusiva funktioner till att sabba andra grafikkortstillverkare, det är ju därför de betalar spelutvecklarna för att implentera GameWorks? Och kom inte med att AMD gör samma sak, för det har du inga bevis på. Och har inga resurser för programvara? Jag tycker drivrutinerna fungerar väldigt bra, och 295X2 som är 3 år gamlare än Titan X presterar bättre, vilket talar mer om att de är väldigt kompetenta idag med sin hårdvara och spel.
Som gamer är jag främst en konsolbonde, så använder ju AMD GPUer så lite otrogen Nvidia fan-boy då Teknikmässigt tycker jag alla någorlunda objektiva bedömningar måste ge Nvidia ledartröjan, normalt leder de "bara" på program- och verktygssidan men just nu har de även ledningen på HW-sidan (Fiji kan komma att ändra på det).
Om du jämför GameWorks med Mantle så har du missförstått vad GameWorks är, dessa två är inte på något sätt samma sak. Mantle, Metal och DX12 är exempel på olika varianter av samma sak. GameWorks skulle rent tekniskt kunna ligga ovanpå alla dessa tekniker, faktum är att det finns en variant med namnet AndroidWorks som då kör ovanpå OpenGL ES.
GameWorks är en uppsättning färdiga "recept" för att göra en rad effekter som tar en hel del resurser att skapa från scratch (scratch här är direkt ovanpå DX, Mantle, OGL eller liknande). Det finns inga fria luncher, så självklart lägger inte Nvidia massa resurser på detta för att vara snälla utan det görs bara för att man bedömer att det leder till att man säljer fler kort. Huruvida de "betalar" utvecklare för att använda GameWorks beror på hur man definierar "betalar". GameWorks är fritt att användas och som jag förstått det erbjuder Nvidia ibland även guidning i hur GameWorks bäst (enligt dem) kan användas. Motprestationen är inte direkt betalning, Nvidia verkar i stället räkna med att mervärdet för GeForce-korten är blir så pass stort att det betalar igen kostnaderna.
Nvidia bedömer uppenbarligen att GameWorks inte skulle användas om de gjorde det helt knutet till deras HW, nu är det byggt på standardfunktioner i DX. Undantaget är PhysFX som numera är utvecklat med CUDA vilket då naturligtvis gör det bundet till HW som stödjer den tekniken.
Mantle är ett väldigt bra exempel på att AMD gör samma sak. Titta vad man jobbat med sedan Mantle används som grundplåt i Vulkan, massor med omdesign för att det ska fungera på något annat än GCN. I den form Mantle existerade i var det helt knutet till en specifik GPU-design av en specifik tillverkare (d.v.s värre än GameWorks). Tekniken och dess dokumentation släpptes aldrig fri innan man donerade rubbet till Khronos Group, så vi kommer aldrig få veta hur AMD skulle ha agerat om Mantle blivit en succé.
Ett väldig talande exempel på där AMD saknar programvarustöd är GPGPU/HSA. Man pratar massor om detta, men hur ska man som programmerare använda detta? Visst finns OpenCL, men det är väldigt primitiva verktyg runt detta om man jämför med vad Nvidia erbjuder för CUDA. Ingen borde vara förvånad att majoriteten av alla program som ändå har GPGPU-stöd (vilket inte är så många) först och främst stödjer CUDA och i andra hand OpenCL. Var hittar man AMDs motsvarighet till Intel VTune, hur kan man förvänta sig att någon större massa ska lyckas optimera OpenCL, OpenMP lösningar utan sådana verktyg (det går, men är svårare == dyrare).
För HSA har man inte gjort något alls utöver grundläggande OS-stöd, medan t.ex. Intel jobbat med bl.a. OpenJDK folket för att få in stöd i JVM:en så att man automatisk kan dra nytta av SSE/AVX i en del grundläggande funktioner i Java8 och senare. I AMDs fall hade HSA kunna användas på liknande sätt.
Tittar man på sammansättning av Nvidas personal så är det ett rent programvarubolag som råkar sälja grafikkort. Intel börjar allt mer gå åt samma håll. AMD må designa bra HW, men de har tyvärr alldeles för lite fokus på programvara.
Allt detta är naturligtvis min personliga övertygelse och åsikt, men försöker basera den på de fakta som finns.