cerco di farlo in modo rapido:
in DX9 ci si giostrava con un solo thread principale, per tutto (grafica, fisica, audio).
da questo venivano generati nuovi thread, ma che dovevano seguire una dinamica sequenziale.
quindi, pur potendo usare piu' thread, e quindi anche altre risorse HW, le danze le guidava esclusivamente il thread principale che oppupava in esclusiva un core di calcolo (non un core specifico, ma uno, comunque).
DX10 si è passati a dividere la fisica e l'audio in altri trhead, ma comunque sempre legati al thread grafico, che, in alcuni frangenti, poteva essere diviso in 2 differenti tipologie di calcolo grafico (ossia 1 thread grafico che divideva in 2 sotto thread, grafici, per differente natura di calcolo).
DX11 si è operata una ulteriore segmentazione, e si è riusciti, da prima, ad usare fino a 4 core distinti per 4 thread, poi, con le 11.3, anche 8 core.
DX12 apre ad AC ed ACE, che è una pratica differente da quella descritta sopra: in pratica un calcolo per la determinazione di un punto tridimensionale (e con il successivo ricalcolo per portare il tutto da 3D a 2D, visto che uno schermo è solo 3D) si effettua con matrici, e per determinare il risultato di una matrice puoi dividere questa in sottomatrici; puoi quindi usare sottothread per sottomatrici piu' piccole e poi accorpare il tutto nel trhead principale.
non solo, puoi segmentare i calcoli per rendere l'uso della CPU piu' costante e non con picchi e inutilizzi (anche se questo ti costa in prerogative HW (o software, ma ci metti 10 volte di piu') ed in ulteriore potenza di calcolo).
quindi in un DX9 un dual core era sufficiente, in DX10 anche, già in DX11 era necessario un quad core fisico, in DX11.3 si poteva usare anche un octacore fisico, ed in DX12 anche oltre... ma la questione è che SI PUO', non è certo obbligatorio.
da qui la costruzione effettiva dell'HW.
per come è strutturata l'architettura nvidia di maxwell e pascal, si nota una divisione in 4 moduli ripetuti e quasi indipendenti.
anche AMD con Polaris usa ormai una divisione in quarti, ma la struttura di calcolo tra AMD e Nvidia è ben diversa.
nvidia usa cuda corse, degli asic che sono in grado di compiere tutti i calcoli tipici richiesti in DX11; AMD invece utilizza stream processor, degli ASIC piu' piccoli e diversamente congeniati in modo che la somma di piu' puo' permettere il totale computo richiesto in DX11...
mentre su AMD hai la possibilità di usare piu' agevolmente la segmentazione, perchè è già di natura segmentato il modo di compiere un calcolo, farlo su nvidia diventa piu' difficile, perchè su maxwell un cuda core produceva direttamente un risultato, su Pascal se ne usano 2, ma per metà ed in parti differenti... ulteriore segmentazione rende il calcolo piu' impegnativo.
detto questo è logico che un quadcore, finche parliamo di una segmentazione a 4 nodi, risulta piu' idoneo su nvidia e con l'uso delle DX11.
nel discorso ometto la differenza tra un quadcore Intel del tipo architettura "core", che sono SMT (e HT), con la differenza dalle CPU BD AMD, che sono CMS, o jaguar che sono "vecchio stampo" (ossia come tanti core attaccati), perchè si tratta esclusivamente di ulteriore velocità della CPU nello svolgere i suoi compiti, non nel come li debba fare.
quindi, ad oggi, un quadcore 5 ghz in DX11 è la CPU piu' veloce da utilizzare, perchè ha il massimo numero di core necessari per quella metodologia di calcoli, e questo le consente di ottenere elevate frequenze, cosa che con 8 o 16 core non puoi permetterti.
il problema è che a piu' di 5ghz non ci si puo' spingere, e se vuoi aumentare la potenza computazionale, magari usando 3 monitor, la CPU non ce la farebbe...
quindi si dovrebbe passare ad una CPU con molti piu' core, molti di piu' per compensare sia l'ulteriore lavoro richiesto dalla segmentazione, sia per compensare le inferiori frequenze massime che ottieni, e il tutto per aumentare le prestazioni.
del tipo:
se ieri usavi un gioco con un quadcore a 5ghz in FHD ed ottenevi 100, domani, per ottenere 100 da 3 monitor FHD dovrai usare una scheda grafica come minimo 3 volte piu' potente, ma la dovrai usare in DX12 per permettere una maggiore segmentazione per riuscire ad usare piu' core, e quindi dovrai usare un 16 core ad almeno 3ghz per ottenere lo stesso risultato (ma ampliato).
5ghz x 4 core = 20
20 x 3 = 60
3Ghz x 16 core = 48... non ci arrivi nemmeno a 60fps, con questo...
si è visto che per la segmentazione si perde almeno il 10% della potenza (e questo lo vedi su Pascal, che puo' passare da 4 a 8 segmenti, perchè su AMD sei con un'architettura da 64 segmenti che devi, tramite driver, far arrivare a 4... logico che se segmenti a 8 il driver fa meno lavoro e quindi otterrai un incremento, non un decremento prestazionale).
quindi quel 60 diventa 66 e diviso 16 fa 4.125Ghz...
per ottenere le stesse prestazioni FHD da un trimonitor devi avere un buon codice DX12, un hexacore a 4 e passa Ghz, e una scheda 3 volte piu' potente.