Tien extra games krijgen Intel Application Optimization-ondersteuning

Intel kondigt Application Optimization-ondersteuning voor tien extra games aan, waaronder Red Dead Redemption 2 en Final Fantasy XIV. De optimalisatietechnologie is beschikbaar voor twaalf spellen en moet zorgen voor verbeterde gameprestaties op bepaalde 14th Gen-processors.

Tot dusver was APO alleen beschikbaar voor Metro Exodus en Rainbow Six Siege, en daar komen nu de onderstaande games bij, zo laat Intel bij de aankondiging van de i9-14900KS weten. De functie is officieel vooralsnog alleen beschikbaar voor de KS-, K-, KF- en HX-versies van de 14th Gen i9-14900 en de K-, KF- en HX-uitvoeringen van de i7-14700. In Advanced Mode kunnen technisch gezien ook andere i3- tot en met i9-cpu's vanaf de twaalfde generatie worden gebruikt, zo schrijft het bedrijf. Eerder zei Intel tegen Tweakers dat de cpu's uit de twaalfde en dertiende generatie geen officiële ondersteuning voor de functie krijgen.

Application Optimization is een Intel-technologie waarmee games een verbeterde prestatie moeten kunnen behalen door de workload van games beter over de verschillende soorten cores te verdelen. Tweakers testte deze bewering eerder, toen alleen Rainbow Six Siege en Metro Exodus ondersteund werden. Daaruit bleek dat er inderdaad een noemenswaardige prestatiewinst te zien is met APO ingeschakeld. De functie is nu beschikbaar voor de onderstaande games:

  • Red Dead Redemption 2
  • Final Fantasy XIV
  • Marvel’s Guardians of the Galaxy
  • Watch Dogs: Legion
  • World of Tanks
  • Metro Exodus
  • Tom Clancy’s Rainbow Six Siege
  • World of Warcraft
  • Dirt 5
  • F1 22
  • Dream Three Kingdoms 2
  • World War Z
  • Serious Sam 4 (Vulkan)
  • Strange Brigade (Vulkan)

Door Yannick Spinner

Redacteur

14-03-2024 • 16:00

21

Reacties (21)

21
21
9
0
0
9
Wijzig sortering
Met dit tempo en met de enigzins random selectie aan games gaat het nog jaren duren voordat dit een relevante technologie wordt.
Tja Intel is jarenlang als monopolist niet bepaald aardig geweest en heeft nog maar weinig vrienden over. De komst van Arm, het achterwege blijven van enige ontwikkeling op gpu gebied icm met het feit dat ze eigenlijk alle banden zijn verloren met wie nu eigenlijk hun hardware gebruiken maakt dat Intel momenteel gewoon behoorlijk moeite heeft met nog relevant te blijven. Daarnaast hebben de rare sprongen als die ene guy van de Black eyed peas zogenaamd de head of technology te maken Intel ook een beetje een grap gemaakt. Als Intel de knapste koppen bij elkaar kan krijgen en weer met een revolutie zou komen, zijn ze zeker nog groot genoeg om het tij te keren. Maar alle knappe koppen daar zijn allang vertrokken naar Apple, Amd etc.

Deze technologie is niks meer dan gewoon een paar oude games patchen om efficiënter te zijn op de nieuwere processors. Maar denk dat het verder weinig verschil gaat maken voor hun verkopen op de gamers markt. Het is voor mij in iedergeval echt geen feature waarvoor ik als ik weer in de markt zou zijn voor een nieuwe CPU ik weet bij team blue zou kijken.
Om precies te zijn is Will.i.am nu 'Director of Creative Innovation', niet head of technology.

Neemt niet weg dat Intel inderdaad wel hard op zijn retour is.
Ah ja dat dus, hij heeft geloof ik zelfs nog een smartwatch daar bij Intel ontwikkeld wat direct al enorm flopte. Daarna ook niets meer erover gehoord eigenlijk.
In plaats van een patch per game... Zouden ze niet gewoon een betere compiler kunnen maken of de devs op cursus sturen...
Game Developers hebben denk ik weinig tijd voor het leren van een feature die hun games cpu efficienter maakt maar alleen heel moderne Intel pcs ondersteund.

Betere compilers zouden kunnen helpen, maar ik weet niet of coreselectiehints kunnen worden opgenomen in de AMD64 code. Er zou dan waarschijnlijk een aparte file of zoiets bij de executable komen die dan door het besturingssysteem hopelijk wordt gelezen.

Wat wel helpt is OS thread scheduling beter maken voor dit soort chips, en ik denk dat een goede manier om deze te ontwikkelen is door specifieke games en andere use cases te bestuderen. Bovendien werkt dit ook met oudere games zonder patches.
ICC (de intel compiler) kan al jaren kritische functies meerdere keren compileren, en een run-time selectie doen welke processor je hebt. Geen OS support voor nodig. Maar core selectie is helemaal geen feature van de applicatie. Dat moet het OS doen. En daarbij heeft het OS weinig hints.
Goed punt.

Thread prioriteit (en workload) kan misschien helpen. Gaan games daar goed mee om?
De Intel Thread Director geeft het OS hints, neemt warmte mee en kan eigenhandig threads wisselen (Efficiency Mode) wat niet optimaal zal zijn in dit soort situaties met P/E cores.

Ik vermoed dat Intel hier Efficiency Mode uit zet en overgaat op handmatige scheduling met focus op P cores, niet zozeer een probleem van het OS.
Red Dead Redemption 2 is een spel uit 2018, dus dan ben je wel een erg knappe compiler- of gameontwikkelaar als je kunt voorspellen wat een processor uit 2023 nodig heeft.

En zelfs als je dat doet, dan komt Intel later weer uit met een nieuwe processor die weer andere optimalisaties nodig heeft. En AMD kan bijvoorbeeld met de 7900X3D weer andere optimalisaties gebruiken. Dus op een gegeven moment krijg je dan programma's die stiekem eigenlijk bestaan uit 50 verschillende executables, 1 voor elk andere soort processor. En dan nog mis je executables voor platformen die uitkomen nadat het programma of het spel al af is.

Het hele idee achter de x86-standaard is juist dat compilers naar een vrij generiek platform compileren, waardoor je software blijft werken op nieuwe processoren en werkt op de CPUs van beide fabrikanten. Dus in principe moeten optimalisaties specifiek voor een bepaalde processor zoveel mogelijk runtime gebeuren.

Als je echt specifiek wilt gaan optimaliseren per processor dan kun je het beter over een andere boeg gooien, bijvoorbeeld wat Java doet. Die compileert de code maar half en vervolgens wordt de code pas tijdens runtime verder gecompileerd of geinterpreteerd. Maar dat heeft ook weer nadelen.

[Reactie gewijzigd door Ludewig op 22 juli 2024 20:59]

Het hele idee achter de x86-standaard is juist dat compilers naar een vrij generiek platform compileren, waardoor je software blijft werken op nieuwe processoren en werkt op de CPUs van beide fabrikanten.
"Standaard"? Nou, nee. Het is op z'n best een informele standaard, maar zelfs dat is al een vriendelijke beschrijving. Probeer maar eens op Linux een "cat /proc/cpuinfo", en je krijgt een "flags:" regel terug met tientallen manieren waarin jouw x86 core specifiek is. Dat is nog los van "cpuid level:" - mijn EPYC 7204 is bijvoorbeeld al CPUID level 16.

x86 compilers hebben typisch dan ook support voor een hele range aan target architectures, met soms ook nog de optie om te optimaliseren voor architecturen boven het minimum.

Voor de meeste programma's is het niet zo'n issue. Als het op Zen3 goed draait, dan draait het op Zen4 beter. Er is dan ook geen "runtime optimalisatie" voor Zen4 - hoe zou dat moeten? Als je code geen AVX-512 instructies bevat, dan kan je die niet zomaar run-time erin optimaliseren. Je compiler moet die toevoegen. Ja, Java kan dat, maar de prijs die je in de praktijk betaalt is dat het dan overal langzaam is. Er is een reden dat AAA games nog steeds in C++ geschreven worden.
Naja eerder welke andere taal dan c++ hadden ze moeten gebruiken dan? Voor native software op een pc is er niet echt een alternatief dat beter is. In de web space komt er de ene nieuwe taal na de andere bij. Maar gek genoeg is op systeem niveau c++ nog altijd de defacto standaard en snijden die paar projecten die er ooit zijn geweest geen hout.
Ik neem aan dat dat ook de reden is dat opvallend veel games in dit lijstje ouder zijn. Ten tijde van die oude games bestonden zo'n CPU's met ongelijke cores niet echt in de normale pc wereld. De meeste snelheidswinst met APO is wrs te behalen in de oudere games daarom.

In cyberpunk hebben ze in de game zelf onlangs in patch 2.10 een feature toegevoegd om op nieuwere intel cpu betere thread verdeling te doen ("Prioritize P cores"). Ik vermoed dat die feature zeer gelijkaardig is aan wat APO doet, maar dan toegepast specifiek in de game.

Edit: De intel APO app is via de windows store geupdate bij mij en waar die tevoren werkte, werkt die nu niet meer met melding van deze error:
https://www.intel.com/con...ntel-core-processors.html
Maar op de website van mijn motherboard vendor is natuurlijk nog geen update te zien van de DTT driver. Eigenlijk kan zoiets niet hé. Met een automatische update waar ik bijna geen controle over heb, is er nu een verlies van functionaliteit. Misschien dat je op obscure manieren een windows store update kan terugdraaien, maar daar ga ik me niet mee bezig houden. Het is ook niet alsof ik die intel APO echt gebruik, er zijn praktisch geen games in de lijst die ik speel. Ik bedoel meer het principe.

[Reactie gewijzigd door Neverwinterx op 22 juli 2024 20:59]

Dat hoeft niet zo te zijn. Het kan ook zijn dat dit vooral goed werkt voor spellen die vooral 1 thread en dus 1 CPU core zwaar belasten; en dat oudere spellen vaak minder goed zijn in multithreading.

APO heeft namelijk ook het truukje dat ze expres bepaalde cores minder belasten, zodat een naastliggende core harder kan boosten. Die core kan zijn warmte dan namelijk kwijt via de cores die minder belast worden.
Wat lost dat dan op? Dan worden spellen magisch voorzien van support zonder patch?

Het gaat sowieso om support voor een Intel specifieke feature die ook nog eens op een select aantal CPU's aanwezig is.

En dit zou waarschijnlijk eerder in engines moeten worden opgenomen, zo dat er een platform onafhankelijke feature voor komt. En als het niet in bijvoorbeeld Unreal Engine zit zal het lastig zijn om het er zelf bij te klussen.

En laten we ook niet vergeten dat een game nogal wat tijd kost om te maken, dit er achteraf inbakken is waarschijnlijk niet heel triviaal. Het gaat juist om het schedulen van workloads op CPU cores, als dat van te voren niet iets is waar rekening mee gehouden word dan gaat dat niet vanzelf. Zeker niet omdat het hier zeer waarschijnlijk gaat om de keuze of iets op een P of een E core gaat draaien. Een redelijk nieuw principe, en iets waar AMD waarschijnlijk dan ook mee gaat komen.

Voorheen was zo iets niet mogelijk (de scheduler bepaald waar een taak terecht komt), en bij AMD is het nog steeds niet mogelijk. Er zijn gewoon cores, je kunt niet bepalen of je een ZEN4 of ZEN4c core wil hebben.
Het lijkt erop dat deze versie inderdaad ook te installeren is voor de 12th en 13th gen CPUs (maar dan via Advanced Mode zonder officiële validatie). Echter is de bijbehorende DTT driver nog niet gepubliceerd voor deze versie van APO en zal de applicatie dus nog niet verbinden.

[Reactie gewijzigd door Viscerous op 22 juli 2024 20:59]

Thuis eens uitproberen, zien of dit iets doet in World of Warcraft voor mijn 12700...
Bart ® Moderator Spielerij @nzall14 maart 2024 17:05
Het zorgt voor verbeterde prestaties op bepaalde 14e generatie cpu's. Ik denk dus niet dat het iets zal doen op jouw 12e generatie cpu.
Het artikel geeft dat in het advance mode ook kan werken op 12th gen CPUs, maar dat Intel dat niet officieel ondersteunt. Dus als Tweaker moet je dat uiteraard proberen.

Met deze oude games is het wel een beetje de vraag wat het nut is, want deze games zullen met relatief gemak op de CPUs draaien (hoewel dat voor een i3 misschien wel wat anders is.)

Maar uiterste prestaties zijn meer van belang voor de laatste, veeleisende games die CPU limited zijn.
World of Warcraft is uitermate CPU limited, vooral in bepaalde gebieden. Ik heb benchmarks gezien van mijn GPU maar met een 5800X3D die in sommige gevallen 30-40 FPS hoger waren dan wat ik haal met mijn 12700. Ik haal momenteel met een 12700 en een 4070 rond de 55-65 FPS. https://www.youtube.com/watch?v=fqH18Ca6ULo Deze benchmarker haalt rond de 95-105 FPS...
Maar verbetering ten opzichte van? Als een CPU gewoon 12 dezelfde cores heeft, dan zouden deze allen 'maximaal' presteren, maar gooi je de helft op die 'e-cores' (of hoe ze heten), zou je prestatie verlies krijgen omdat ze op mindere cores worden gezet. Dit is dan eerder een fix om zo'n cpu 'on par' te krijgen zodat ze de juiste cores gebruiken?

Op dit item kan niet meer gereageerd worden.