APO è una delle cose più anti informatica che leggo da anni. il sistema operativo dovrebbe essere agnostico verso i programmi user space che esegue. Qua abbiamo invece una cosa che gira a livello kernel (quindi è come se fosse il SO) che deve venir aggiornata app per app. Quindi è il sistema operativo che modifica il proprio comportamento in base all'app che viene eseguita.<br />
<br />
questa roba è semplicemente una porcheria, che nel tempo mostrerà tutti i suoi limiti architetturali
Forse non sai che anche AMD usa una cosa simile per le sue CPU multi chiplet per decidere come gestire i thread che altrimenti finirebbero sul chiplet errato causando una diminuzione delle prestazioni.
Peggio ancora per i multi chiplet dove uno solo ha la cache X3D.. in quel caso, se avvii un gioco, l'altro chiplet, quello senza cache, viene letteralmente spento così che non ci sia alcuna confusione su dove eseguire i thread dei giochi, con tutti i benefici energetici associati.
La pratica di correggere il normale comportamento dello scheduler dell'OS è sempre esistita, perché una ipotetica API deve essere usata dal programmatore, ma non tutti la userebbero e sicuramente non funzionerebbe per codice non più mantenuto.
E così si mette una pezza come si può.
Che è poi quello che fanno anche i driver grafici rispetto alle librerie grafiche, cioè sistemare le porcate che fanno i programmatori per meglio ottimizzare ordine di chiamate e dati su cui queste operano.
Non mi sembra che qualcuno sia mai salito in cattedra a dire: eh, ma che porcata i driver grafici, significa che le architetture fanno schifo. Anche se ormai sono grandi GB, e lo sono perché contengono un sacco di codice supplementare da eseguire per questa o quella specifica applicazione/gioco.
Semplicemente si usa il metodo migliore per correggere le inevitabili porcate che improvvisati programmatori producono. Se aspetti che siano loro a sistemare i problemi, passano anni, sempre che ne siano capaci.