Nature schreef op maandag 28 maart 2016 @ 14:44:
Misschien is Async geen big deal, goed voor onrealistische workflow en bottleneck verwijderen die er niet is in normaal gebruik, fps game-x met deatchmatch 10k tegenstanders tegelijk in beeld oid.
Een benchmark zegt zogenaamd dat de R9 290X even snel is in DX 12 als de GTX 980 TI alleen is in dezelfde benchmark de Fury X ook even snel als de GTX 980 TI

(klinkt minder spannend).
Nvidia zal het wel het beste weten en is Async niet nodig anders maken ze niet 2 generaties van een nieuwe kaart die zo slecht zou werken door het gebrek aan die functie, ik denk dat Nvidia ook wel in 2013 toen de R9 uitkwam de kaart even doorlichtte en even hebben gekeken hebben bij hun concurrent onder de motorkap.
Gratis performance graag mij hoor je niet klagen ik stap gelijk weer over wanneer AMD lood in goud kan laten veranderen.

maar: 'If it seems too good be true, it probably is.'
Nvidia zal het wel het beste weten? Nvidia de meeste eye candy (het is trouwens lighting, zonde tweede 'n'

)?
Eens even kijken:
- Display spanning: AMD. Nvidia schreeuwde keihard dat het onzin was. Maand of 4-5 later was er wel ineens een Nvidia Surround op CES, duurde daarna wel nog eens 6 maanden eer het beschikbaar was. En in eerste instantie wederom als een software hack. Pas vanaf Kepler kunnen ze dit in hardware.
- Tessellation: ATI. Jarenlang "niet interessant", tot het punt waar het uit DX10 gesloopt werd omdat Nvidia het niet kan. Fast forward naar DX11 en 2010 en kijk eens aan, Nvidia gooit er massa's tessellators tegenaan. Fast forward nog een paar jaar en Nvidia misbruikt het omdat ze er zo veel brute kracht tegenaan gooien.
- Tiled Resources: AMD. Niet interessant volgens Nvidia, maar het komt wel in D3D11 als een optional feature (11.2) en is een verplicht onderdeel van FL12_0. Pre-Maxwell is er wederom een hack waarbij het geëmuleerd wordt en Maxwell doet wonder boven wonder Tier 3 dat ineens in DX12 zit...hmm...
- Video En-/Decoding: ATI. Ruim voor Nvidia.
- Eerste DX 9, 10, 11 GPU's: ATI en AMD. Met name in DX10 zaten een hoop optionele features die inmiddels verplicht zijn die AMD/ATI toen gewoon al ondersteunde.
- MSAA, TF in hardware: ATI. Sterker nog, het is dankzij AMD dat MSAA en AF "standaard" features zijn geworden. Met name R300 was gewoon dusdanig snel dat je beide ineens veel meer zag. AIAF kwam ook als eerste bij AMD bijvoorbeeld.
Lighting features? Zoals...wat? VXGI?
Ik denk dat jullie bedoelen dat Nvidia meer geld steekt in games/engines exclusief hun versie van al deze te laten gebruiken. Nvidia heeft niets dat AMD niet heeft (eerder andersom), maar in games met het Nvidia label zie je die ondersteuning vreemd genoeg nooit terug. Complot theorie zeker? En als Nvidia's implementatie nou goed in elkaar stak was het niet zo'n probleem. PhysX bijvoorbeeld is een grote grap en inferieur aan Havok, maar omdat Nvidia en Epic een deal hebben zit PhysX standaard in UE3 en als je dat door Havok wil vervangen moet je flink investeren. HairWorks? Draait vele malen slechter dan TressFX (niet alleen omdat ze 64xT doen, hoewel dat wel een factor is), ziet er niet realistischer uit. Wellicht vinden jullie GameWorks "eye candy", maar dat is grote onzin. GW bestaat uit twee dingen: aan de ene kant is het een hoop non-rendering middleware die vooral met bijvoorbeeld Havok concurreert. Dit alles loopt echter op de CPU en in veel gevallen doet het gewoon onder voor Havok (zoals ik al zei) in zowel realisme als prestaties. Aan de andere kant heb je dingen als de particles die wel iets met met de GPU te maken hebben. Of je dat onder eye candy moet scharen is discutabel (het ziet er meestal belachelijk uit omdat het verkeerd toegepast wordt), maar wat niet discutabel is is het feit dat die dingen ook alleen in games zitten omdat Nvidia er voor betaalt. Of dat nu in cash of in manuren is doet er niet toe. Dit verschil is niet lastig waar te nemen; in games met een Nvidia label zijn veel van die "eye candy" features niet/slecht beschikbaar voor AMD, terwijl je in games zonder label of met AMD label diezelfde features ziet zonder Nvidia's onzin. Kijk maar naar GTA V of Frostbite. En met name die laatste is gewoon geinig, omdat die particles veel mooier doet dan de meeste Nvidia games, een AMD label heeft..en beter loopt op Maxwell dan GCN omdat ze meer uit Maxwell kunnen persen dan uit GCN.
De lijst hierboven is maar een kleine greep, er is maar heel weinig waar je Nvidia echt als pioniers kunt benoemen. Ze waren wel de eerste met een T&L unit en G80 implementeerde unified shaders een stuk beter dan R600 (ondanks het feit dat AMD/ATI ze eerder had), maar verder hebben ze meestal gevolgd.
Begrijp me niet verkeerd, Nvidia heeft meer dan eens de beste implementatie neer gezet van features die door anderen zijn uitgevonden, maar ze lopen absoluut niet voorop. En als ik dan toch bezig ben, er zit in DX12 niets waar Nvidia de beste ondersteuning biedt, noch iets dat uit hun stal komt. Als het op discrete GPU's aan komt heeft AMD verreweg de beste ondersteuning, met uitzondering van FL 12_1. En op FL 12_1 is het juist Intel dat voorop loopt, vooral omdat beide features daar (ROV + CR) uit hun labs komen. Kijk je naar de optionele features, zie je dat AMD en Intel het gros ondersteunen en Nvidia weer niet.
En om maar weer eens uit proberen te leggen waarom AC zo belangrijk is: Sp3ci3s8472 zit er dicht bij in de buurt, echter is het op GPU's nog veel belangrijker dan op CPU's. Nature heeft duidelijk niet veel over AC gelezen.
Tijdens het renderen kun je, net als op een CPU, tegen allerlei bottlenecks aanlopen. Dit heeft te maken met de pipeline (het traject van instructie tot output). Intel is met HT gekomen omdat de P4 een hele lange pipeline had, waardoor een trage operatie alle volgende instructies enorm kon vertragen. Met HT werkten ze een beetje om dat probleem heen, omdat een CPU ook, net als een GPU, meerdere "clusters" heeft die werk kunnen verrichten.
Het grote verschil is echter dat een GPU tegenwoordig veel meer van die clusters heeft en tegelijkertijd het meeste werk dat een GPU doet relatief kleine taken zijn, alleen in grote aantallen. Je hebt vast wel eens de maximale fillrates (pixel + texture) van GPU's gezien. Zonder AC is het helemaal niet zo lastig om tegen die limieten aan te lopen. Met name in een RTS waar je veel kleine objecten hebt die wel allemaal wat gerenderd en gefilterd moet hebben kom je daar heel eenvoudig aan. Het gevolg is dat tot nu toe in de meeste RTS games er vaak veel gedupliceerd werd en lighting beperkt werd (als je met een technisch oog naar sommige RTS games kijkt zie je dat er vaak dingen niet "kloppen"

), omdat je anders een hoop van de units zou moeten skippen omdat eerdere instructies de rest zouden vertragen. Het gevolg van deze bottlenecks is dus dat de helft van je GPU niet gebruikt wordt. Ik kan het niet vaak genoeg zeggen dat "GPU Usage" in MSI AB of GPU-Z bullshit is, daar klopt geen moer van; 80% van de tijd betekent die "99%" GPU Usage in werkelijkheid met pijn en moeite 50-70%. De overige clusters in je GPU hebben dan niets te doen, met AC kun je die ook aan het werk krijgen.
Ik focus nu uiteraard op RTS omdat AoS het grote discussie punt is. Er wordt nog steeds geclaimed dat het slecht in elkaar zou zitten en allerlei andere onzin, maar dat is niet zo. Het grote verschil is dat in AoS vrijwel alles nu daadwerkelijk apart gerenderd wordt, in plaats van gewoon CTRL+C/CTRL+V. AC geeft niet zomaar prestatie winst. Een engine moet er wel gebruik van maken en dat doen de meeste engines nog niet; die zijn juist gebouwd om die limieten (niet alleen fillrates overigens, ook bandbreedte, cache en dergelijke) te vermijden.
In FPS games kan het echter even goed voordeel opleveren. Het zal daar niet zo zeer gaan om idiote aantallen queues zoals in AoS, maar meer om "bij" werk. Wederom een eenvoudig voorbeeld is een open world game (of in ieder geval games met een behoorlijke view distance). Waar er nu veel gekloot moet worden met LoD op grotere afstanden om dat maar zo snel mogelijk af te handelen (met als gevolgd weinig tot geen detail op afstand, texture popin), is dat met AC veel mooier op te lossen. Je gebruikt dan gewoon een aparte queue om de copies (streamen) uit te voeren. Een tweede queue om je texture filtering te doen. Gaan wij daar betere prestaties door zien? Niet in framerates. Maar de games worden wel een stuk mooier zonder dat het iets
kost, wat dus weldegelijk prestatie winst is. Nog een voorbeeldje hebben? Particles. In plaats van die door je main pipeline te gooien (de meeste implementaties behandelen ze "als er nog tijd is"), kun je daar een aparte queue voor gebruiken.