Verwijderd schreef op vrijdag 29 september 2017 @ 14:14:
Een van de vele redenen waarom het broodnodig is dat extra CPU-kernen worden benut, het is vooralsnog de grote zwakte van gameplay. Vergeet graphics, we hebben het beter benutten van CPU-power nodig.
Wat betreft hoe lang het duurt alvorens spellen zich aanpassen, sommige mensen hebben een erg kort geheugen. Hoe lang duurde het voor de dual core en de quadcore? 1-2 jaar voordat die in zo goed als alle spellen domineerden? Ja, het ontwikkelen van spellen duurt 3-4 jaar maar je kan in het laatste jaar of de laatste 2 jaar best nog wel het een en ander aanpassen om meer CPU-power te benutten. Ze hebben tal van meer complexe algoritmes klaarliggen en ze hebben juist vaak de algoritmes gedowngrade om het draaiende te krijgen. Zoiets als dat ze vaak 4k-textures klaar hebben liggen maar weigeren om die in de code te stoppen, helaas (het doet er niet toe of dat je ze op dat moment kan draaien, jaren later kan het wel), alleen kost het meer werk om die te implementeren.
Dat games heel langzaam overgaan , of helemaal niet , heeft simpele reden.
Overwegend is AI Physics en alles gameplay gerelateerd een fixed load gericht op mainstream CPU met ook mainstream IPC en klok. Om simple reden dat een 200mil aan $ terug verdien moet worden met multi milioenen sales. Dus zeer grote markten en crosspatform nogal belangrijk is.
Daarnaast zijn games zo GFX gericht dat er minstens 3 frames in de pipeline zitten en GPU meestal continu bezig is en dat de CPU tijd over heeft als boven gemiddel over mainstream CPU beschikt. En highend cpu nog meer. Houd dus in je kan al niet goed schalen omdat de computatie te licht is om 12 cores te laten zweten.
En je hebt door die volle triple frame gebufferde pipeline dus ook render latency waar VR overstruikeld. De varmit latency.
Los hiervan kan je gemakkelijk in een korte tijd (mogelijk zelfs in slechts enkele weken tijd) een fatsoenlijke botsingsdetectie implementeren, alleen dat al zou een gigantische winst zijn voor de spellen want niets doorbreekt de immersie zo erg als het zweven doorheen solide objecten, het clippen doorheen muren (wel leuk voor speedplaythrhoughs met cheating) of het gaan zweven boven de grond en het spel moeten herladen omdat je er niet meer uit komt (Mass Effect 2). Leuk, voeten die verdwijnen in de grond, haar wat in de huid verdwijnt, hitboxes die niet goed werken...
Allemaal in een korte tijd op te lossen als ze het willen en ze die extra kernen gebruiken, de algorithmes liggen al vele jaren klaar aangezien mensen hier onderzoek naar hebben gedaan. De enige reden dat ze nog niet gebruikt worden is dat je er 1 kern volledig voor moet opofferen, dat is geen enkel probleem als je er 8 hebt. Implementeer het als developer en maak het togglebaar. Spelers die een quadcore CPU hebben kiezen voor het simpele algorithme en spelers die meer kernen hebben kiezen voor het betere algorithme, iedereen is dan blij en het kost nauwelijks middelen om het zo uit te voeren. Idem voor physics, niet te verwarren met PhysX, je kan leuke algorithmes gebruiken en die togglebaar maken, het zou me niet verbazen als ook daarvoor het een en ander al lang op de plak ligt maar voor de botsingsdetectie weet ik het zeker dat die klaar liggen. Idem voor AI en variatie in NPC's maar het uitvoeren hiervan zal waarschijnlijk meer werk kosten. Maar begin maar eens met de botsingsdetectie.
physics en AI zijn geen simulaties het zijn vereenvoudige cheats om op zijn minst beetje believable te laten zijn maar bij edge cases door de mand vallen. Dat heeft te maken dat als je compleet accuraat wilt simuleren je een enorme compute power nodig hebt en dedicated hardware voor AI en Physics nodig hebt.
Zo ook fine grain loop om colission accurater te detecteren.
Dus het probleem is dat games geen power user target zijn.
Maar gericht op zeer marketable gfx en op mainstream.
Het uiteraard ook belangrijk in acht te nemen dat Game publisher juist mainstream belangrijk is voor multi milion sales voor cash return rate voor grote investeringen.
En hun dus niet bezig zijn met benchmarking soap tussen intel en AMD en al die fan cijferneukertjes en zij dus een minimum en recomended target hebben. En daarmee ook niet veel zin voor hun heeft om goed schaalbare threadpool te implementeren voorbij de 4 threads.
Games kunnen targeten op lower range mainstream of upper mainstream. Hangt meer af hoe zwaar game is kwa gfx.
Een goed schalende game zou je kwa GFX iig niet meer dan double bufffering doen en dat de GFX load genoeg is dat upper mainstream gpu op tijd klaar is zonder triple buffering. En daarmee gpu soms ook idle is en lagere latency heeft ideaal voor VR.
Daarnaast zwaardere accurate simulatie toepast zoals finegrain physics features die compute power nodig hebben en AI dat geavanceerd is en meer edge cases mee neemt en adaptief naar de player.
Games met veel entities is makkelijk breed te gaan dan 1 vs 1 player games in kleine omgeving.
Zoals RTS vs FP boxing game.
Games die hardware kunnen pushen zijn meer de niche game kleinere producties van maar enkele mil aan $ waar het wel genoeg is om de high end te targeten dus de hardware te pushen.
En high-end is in deze tijden gewoon meer cores tot veel cores.
4 cores en 2cores met SMT is lower case mainstream geworden. Daar richten triple A producties op.
Waar 10mil sales nodig is.
Hardware pushende games is waar target audience van max van 1 mil tot hooguit 2 mil.
Nog minder en je kan voor meer richten op Hedt hardware.
Ook kan helpen is die uitzondering die niet alleen schaalbare render config opties geeft maar ook AI en Physics configureerbaar implementeerd.
Unreal tournament met bots.
Maar BF2 met bots schaalbaar tot heel veel en ook AI schaalbaar.
Er zijn dus wel uitzonderingen geweest.
NV cuda physX. Een threadripper zou die extra Effect physics ook me extra veel cores met gemak kunnen doen handig als je maar mainstream gpu hebt . Maar wel zo een veel core ding,
Een van de latere Metro games kan je ook de zware PhysX load op CPU draaien. Is uiteraard ook de vraag of nV voor PC cpu de PhysX runtime niet SMP gecastreerd heeft. Zo niet dan heeft Hedt wel zin met veel cores.
Voor FPS shooter zou je lager ranked speler 32 samen massaal met 128 NPC met reguliere wapens tegen een 12 man elite high ranked speler met betere spul.
Een NPC kill zou 100 XP zijn regular forces player 250 XP en ownen van Elite 1000 XP met bonus van wapen pickup.
[
Voor 5% gewijzigd door
SG op 30-09-2017 07:19
. Reden: Wat extra en spelling ]
X399 Taichi; ThreadRipper 1950X; 32GB; VEGA 56; BenQ 32" 1440P | Gigbyte; Phenom X4 965; 8GB; Samsung 120hz 3D 27" | W2012SER2; i5 quadcore | Mac mini 2014 | ATV 4g | ATV 4K