L’introduzione da parte di Microsoft delle nuove DirectX 12 sembra aver impressionato tanto gli utenti, e soprattutto per la sua capacità di migliorare in maniera massiccia l’efficienza multithreading della CPU, che ricordiamo si applicherà sia sui PC che sulla console Xbox One.
La Sony sta cercando dal canto suo di apportare le stesse migliorie seppur limitate alle proprie caratteristiche e sopratutto su console PS3.
Ma cosa è il Multithreading e di cosa si occuperebbe, per multithreading si intende la capacità di un programma o di un processo per il sistema operativo in grado di gestire l’utilizzo del carico di lavoro suddividendolo su più thread che possono essere eseguiti anche in parallelo.
In termini di prestazioni si possono notare dei miglioramenti solo se i programmi, in tal caso i giochi vengano sviluppati utilizzando appunto tale carico, a tal proposito Sony ha riportato un annuncio alla ricerca di un buon Systems Engineer.
SCEA è attualmente alla ricerca di un Systems Engineer di grande talento in grado di agire come un esperto del settore e leader nello sviluppo di livello dei sistemi su piattaforme PlayStation®.
Questo individuo dovrebbe essere in grado di gestire varie questioni di basso livello in multithreading e SIMD ed essere in grado di utilizzare tale conoscenza per collaborare con gli sviluppatori leader del settore.
Qualifiche richieste obbligatorie
- Un minimo di 3 anni di esperienza di programmazione in C/C++.
- Esperienza di lavoro sulla piattaforma strato specifico basso livello di un motore di gioco.
- Esperienza nell’utilizzo di strumenti di CPU profiling per misurare le prestazioni del gioco, identificare le strozzature e risolverle.
- Comprensione dei vari algoritmi di ottimizzazione motore di gioco e le varie tecniche.
- Comprensione dei processori multi-core come SPU.
- Forte comprensione della matematica 3D.
- Laurea in Informatica o equivalenti.
- Mantienersi aggiornati sulle ultime tendenze in multithreading e tecniche di programmazione multi-core.
Esperienze
- Aver spedito almeno 1 gioco sulle piattaforme dell’attuale generazione.
- Esperienza nell’attuazione degli algoritmi e delle tecniche che utilizzano caratteristiche hardware per eseguire il calcolo parallelo in tempo reale.
- Esperienza di programmazione a livello di assembly su piattaforme dell’attuale generazione.
- Esperienza nello sviluppo di strumenti.
- Esperienza di lavoro in un ambiente di supporto.
- Conoscenza del codice SPU e ottimizzazione.
- Comprensione della programmazione GPGPU e Shaders.
- Basso livello di comprensione DMA.
- L’esperienza con sistemi audio a basso livello.
- Esperienza con sistemi di file asincrone.
Le competenze elencate risultano interessanti, in quanto descrivono un candidato in grado di avere un solido impatto sulle prestazioni di giochi ad un livello di programmazione molto basso, lavorando direttamente sul motore di gioco.
L’ obiettivo di migliorare il multithreading (la capacità di utilizzare tutti i core della CPU in modo efficiente) e SIMD (per il calcolo parallelo della stessa operazione su più punti) viene in molto del tutto simile all’effetto che si otterrà dalla DirectX 12.
La cosa interessante è che, mentre l’annuncio indica sicuramente lo sviluppo su PS4 a causa della menzione della GPGPU (General-purpose computing on graphics processing units) e hardware all’avanguardia, sembra che il candidato dovrà anche lavorare su PS3, che è l’unica console che faccia uso della SPU (Synergistic Processing Unit).
Sarà interessante vedere realmente quale tipo di effetto porterà l’ottimizzazione sulle piattaforme PlayStation, anche se molto probabilmente non riusciremo a notarle, sembra strano ma gli ingegneri sono sicuramente gli eroi meno celebrati nel settore dei videogiochi .