PROBLEMA RTX 3070... senza senso

Max(IT)

Moderatore
Staff Forum
5,419
1,734
CPU
Ryzen 7 5800X
Dissipatore
Noctua NH-D15
Scheda Madre
Asus ROG Strix B550-F Gaming
HDD
Samsung 970EVO + WD Blue SSD
RAM
G.Skill Trident Z RGB 3600CL16 32 Gb
GPU
Zotac RTX 3080 Amp HOLO
Monitor
Asus TUF VG27AQ1A + Samsung 24RG50
PSU
EVGA G3 750W
Case
Corsair 5000D Airflow
bello l'articolo da cui hai preso queste immagini:

viene citato spesso in giro, nei forum...
spesso però con un accettazione leggermente diversa.
l'accettazione era probabilmente un "accezione" , ma la validità dell'articolo rimane.
Techspot è fondamentalmente il sito web di HardwareUnboxed, canale piuttosto competente e piacevole da seguire (anche se va detto, molto affezionato al brand AMD...).
 

lucusta

Utente Èlite
1,648
1,680
l'accettazione era probabilmente un "accezione" , ma la validità dell'articolo rimane.
Techspot è fondamentalmente il sito web di HardwareUnboxed, canale piuttosto competente e piacevole da seguire (anche se va detto, molto affezionato al brand AMD...).
in quell'articolo ti fanno vedere solo il miglioramento di IPC x frequenza della serie ryzen, dalla prima all'ultima.
nel primo grafico ti fa vedere che un 1600 già serve al meglio una 3070 (e quindi tutte le schede di potenza inferiore), mentre nel secondo ti fa vedere i veri miglioramenti ottenuti con l'IPC e le frequenze sui ryzen, ma... su un giochino decisamente leggero e oltretutto alleggerito nei settaggi.
qualsiasi gioco già oltre i 144fps credo che sia giocabilissimo, anche a livello agonistico.

poi, a dirla tutta, se avessero scaricato il core 1 del 1600, avrebbero guadagnato almeno altri 30 fps.
la serie 1, 2 e 3 soffrono di concomitanza di risorse (bus verso la L2 e L3 poco ampio se troppo utilizzato dai due core SMT).
togliendo l'affinità di processo al core 1 lasci il core 0, che di solito è quello classificato come il più veloce e sul quale windows indirizza il thread principale, senza la concorrenza del core 1, offrendo quindi le migliori prestazioni (ma continuando comunque ad operare in SMT su tutti gli altri.
è un piccolo "trucchetto" che pochi conoscono, ma che funziona molto spesso.

CPUZ 0-1.PNG CPUz 0-2.PNG

CPUZ usa massivamente le FPU, quindi esalta questo comportamento con un guadagno di quasi il 50%, ma dipende anche dal tipo di percentuale tra FP ed INT che l'applicazione usa e dall'uso che fa il gioco tra il core con il thread dominante e gli altri...
di solito su questi giochini leggeri (o alleggeriti per fare i test) che occupano al massimo 4 core logici il guadagno è del 30%.
spesso vedi prove senza SMT, ma così facendo ti neghi diversi vantaggi della tecnologia SMT oltre che a dimezzare i core logici... così invece ne perdi solo uno, quello che, se usato troppo intensamente, da fastidio.

purtroppo non ho una GPU capace di mandare in bottleneck questa CPU, ma puoi vedere qui cosa succede:
Unigine Heaven è un applicazione DX11, quindi solo 4 thread, e lo scheduler di windows predilige l'uso dei core fisici (fortunatamente nelle ultime relase gli hanno fatto capire come gestire i thread), ed anche con i minimi settaggi e spingendo la GPU , la CPU non soffre più di tanto;
ma se io esaurisco la computazione sui core logici associati a quelli principali, cioè l'1, il 3 il 5 e il 7, si fa sentire la concomitanza di uso delle risorse, anche se, come dinamica, non dovrebbe influenzare nulla, proprio perchè l'applicazione non li sfrutta.
invece succede questo:

Unigine Heaven full power.PNG

qui quando lo usi normalmente, con tutti e 8 i core logici liberi,

Unigine Heaven full power -1.3.5.7.PNG

qui quando saturi i core logici associati (ho usato CPUz per "affogarli"),

Unigine Heaven full power -1.PNG

e qui quando disassoci il solo core 1 dall'applicazione, quello associato con il core che regge il thread principale, dove cambia poco e nulla, visto che non lo sfrutta, e dipende da come le altre applicazioni usano quel core.

certo, dipende da come è l'applicazione/gioco e come stressa i componenti HW, ma spesso e volentieri vedi che i vecchi ryzen soffrono soprattutto per questa questione.
i 5000 hanno ricevuto il raddoppio della larghezza di banda, oltre ad aver snellito le richieste di accesso perchè la L3 viene oggi collegata direttamente al bus IF e non tramite i core, risultando unificata.

già solo per questa modifica la CPU ha guadagnato circa il 10% e molto di più nei test che le reviews indicano come specifici, perchè enfatizzano questo problema delle vecchie serie.

spero che ora hai capito perchè era "un'accettazione", ossia accettare che le cose le testino a minchi@...
quando si fa un test, si fa per uno scopo, ma quando si legge lo scopo dovrebbe essere ben chiaro... tutto qui.
 

Max(IT)

Moderatore
Staff Forum
5,419
1,734
CPU
Ryzen 7 5800X
Dissipatore
Noctua NH-D15
Scheda Madre
Asus ROG Strix B550-F Gaming
HDD
Samsung 970EVO + WD Blue SSD
RAM
G.Skill Trident Z RGB 3600CL16 32 Gb
GPU
Zotac RTX 3080 Amp HOLO
Monitor
Asus TUF VG27AQ1A + Samsung 24RG50
PSU
EVGA G3 750W
Case
Corsair 5000D Airflow
Interessante dimostrazione ma non capisco dove vuoi arrivare ...

Disabilitare core per ottenere prestazioni può essere una soluzione con ALCUNI software (engine vecchi soprattutto) ma non è certo una via praticabile, e lo diventerà sempre meno in futuro.
Stai mettendo “una pezza” ad una deficienza architetturale AMD, risolta ora, ma con engine piu moderni e “parallelizzati” finiresti per perdere prestazioni invece che guadagnarle.
Ed al di la di tutto, non è un operazione di uso comune per l’utenza...

Insomma, non discuto la validità della tua analisi ma discuto sul fatto che tu abbia definito “testato a minchia” una prova dove hanno usato la CPU come farebbe il 99.9% dell’utenza.

Articolo interessante sullo scaling delle CPU è questo:


in cui parte dal 1600X fino al 5600X.
Anche qui viene mostrato un panorama piuttosto articolato, perché molti fattori influenzano i risultati, ma a grandi linee si può dire che a partire dalla 3070 la CPU può iniziare a costituire un bottleneck.
E per alcuni casi anche già A partire dal 3600X (beh, in modo leggero e che non compromette la giocabilità, per essere sinceri).
 

lucusta

Utente Èlite
1,648
1,680
Interessante dimostrazione ma non capisco dove vuoi arrivare ...

Disabilitare core per ottenere prestazioni può essere una soluzione con ALCUNI software (engine vecchi soprattutto) ma non è certo una via praticabile, e lo diventerà sempre meno in futuro.
Stai mettendo “una pezza” ad una deficienza architetturale AMD, risolta ora, ma con engine piu moderni e “parallelizzati” finiresti per perdere prestazioni invece che guadagnarle.
Ed al di la di tutto, non è un operazione di uso comune per l’utenza...

Insomma, non discuto la validità della tua analisi ma discuto sul fatto che tu abbia definito “testato a minchia” una prova dove hanno usato la CPU come farebbe il 99.9% dell’utenza.

Articolo interessante sullo scaling delle CPU è questo:


in cui parte dal 1600X fino al 5600X.
Anche qui viene mostrato un panorama piuttosto articolato, perché molti fattori influenzano i risultati, ma a grandi linee si può dire che a partire dalla 3070 la CPU può iniziare a costituire un bottleneck.
E per alcuni casi anche già A partire dal 3600X (beh, in modo leggero e che non compromette la giocabilità, per essere sinceri).
ultimamente sempre meno giochi necessitano di questi aggiustamenti, che, come giustamente indichi, non sono a livello dell'utenza normale.
fortunatamente hanno corretto anche il comportamento dello scheduling window, che prima allocava risorse in ordine crescente sui core, mentre oggi seleziona un core logico per core fisico e solo dopo che ha finito i core fisici comincia ad usare anche il secondo core logico sullo stesso core fisico (roba della build 1903 se non la 1909, comunque)
l'analisi che hanno fatto in quell'articolo non è "ad minchiam", ma mostra effettivamente le prestazioni delle CPU "out of the box", solo che spesso si riportano i dati senza interpretarne il senso nel modo corretto.
l'analisi dei dati ti da sempre una spiegazione per una certa performance, almeno nel mondo dei PC.
in effetti una buona review HW dovrebbe proporre proprio questo tipo di dati, correlati a quelli del consumo della macchina e almeno qualche settaggio del gioco (ad esempio il solito Ultra, ma anche lo scalino immediatamente precedente), in quanto spesso e volentieri il setting fatto dallo sviluppatore non prende precisamente le caratteristiche ottimali dei diversi HW (e bastano poche centinaia di MB richiesti in più sulla larghezza di banda della RAM o della VRAM per fare lo sgambetto da una scheda video o ad un processore; dopo che hai superato le caratteristiche offerte dall'HW , le prestazioni calano a picco).
anche basarsi su pochi giochi o applicazioni è sbagliato, in quanto tutto dipende proprio da come sono scritte ed analisi corrette farebbero vedere le limitazioni ed i limiti del codice che hanno prodotto.
in pratica sarebbe meglio testare approfonditamente l'applicazione sulle varie combinazioni di HW, gioco per gioco, applicazione per applicazione, andando a cercare i setting migliori per singola applicazione, che fare il contrario, ossia testare parzialmente il software sul nuovo HW, facendo confronti a dir poco interpretabili.

anche un 5800X o un intel 11900K fanno da bottleneck su una 3070; dipende sempre dall'applicazione, dal gioco e da come è settato il tutto oltre a dare un limite a quello che si definisce bottleneck.
se tu mi parli di un confronto tra i 250FPS di un 1600x e i 500FPS di un 5600x, io non considero il 1600x bottleneck, ma solo che il giochino è assai leggero e la scheda video che si utilizza è decisamente sproporzionata alle richieste, in quanto già 250FPS sono un valore nettamente superiore a quello che anche un giocatore professionista riuscirebbe ad apprezzare.
cioè, si deve avere anche un senso pratico sulle questioni...

definire quando una CPU è limitante per una scheda video non è facile...
guarda qui:

the medium DX11 3070.PNG the medium DX11 3090.PNG the medium DX12 3070.PNG the medium DX12 3090.PNG

basta cambiare API per vedere che qui la 3090 è nettamente limitata in DX11, ma lo è anche in DX12, perchè non si esprimono le reali differenze tra 3070 e 3090 e la differenza dei processori è ininfluente; qui ti viene mostrato che un 2600x con la 3090 è già superiore a quanto puoi aspettarti con una 3070, segno che quello è il limite della 3070, infatti il 1800x offre le stesse prestazioni tra 3070 e 3090.
il fatto è che i migliori processori esprimono, con la 3090, solo il 37.5% in più, su una scheda più prestazionale del 75% in più, basata sulla stessa architettura e le differenze su questi processori indicano che è la scheda che ha finito la capacità computazionale.
il problema, per questo gioco, è che una 3060 Ti (la più piccola delle Ampere testate, per rimanere sulla stessa architettura), arriva a 70/65 media/min, ossia il 25% in più di potenza grafica della 3070 offre 10FPS in più, cioè il 14.3%.

the medium DX12 GPU.PNG

qui vedi i valori rilevati in DX12 con le varie schede con il 5950X;

the medium graph.PNG

questa invece è la relazione tra FPS medi e potenza grafica di 3060 TI, 3070, 3080 e 3090 in arancione, tra minimi e le potenze delle schede in blu e la relazione tra potenza grafica e larghezza di banda delle varie schede (con 3060 Ti e 3070 che hanno stessa larghezza di banda per potenze differenti). nota che ho riparametrato i dati in modo da offrire una lettura in scala (ho semplicemente diviso la larghezza di banda per 10, in modo da portarla alla stessa altezza del framerate).

il fatto che la 3090 non esprima la sua reale potenza grafica deriva dalla inferiore larghezza di banda della sua memoria in relazione alla potenza grafica teorica; parte di quella potenza non viene sfruttata adeguatamente e la progressione tra potenza grafica e prestazione viene meno.
c'è una spiegazione, ma sarebbe un pippone infinito su come è implementata l'architettura di queste schede (che si riduce al fatto che la 3090 ha più cudacore per banda offerta dalle RAM delle altre, anche se, facendo il rapporto secco tra TF e larghezza di banda, la 3090 risulta superiore alla 3080 e 3070... ma dipende proprio da come sono collegate le RAM ai vari gruppi di unità... la 3090 è un po' come la 970 da 3.5GB).

significa che quei settaggi usati nel gioco limitano l'espressione della prestazione della scheda più prestazionale che c'è oggi, perchè quella è la scheda, fatta in quel modo, mentre le regolazioni fine del gioco (il livello d'intervento degli effetti grafici) richiede una larghezza di banda superiore alle capacità di calcolo offerte dalla scheda.
in pratica gli sviluppatori hanno ecceduto troppo con la soglia degli effetti, mandando la 3090 in mancanza di banda (difficile da recuperare anche con un overclock delle RAM, perchè significa spingerle al 10% in più, su una scheda che è già in crisi sul loro raffreddamento).

è colpa di nvidia, per la scheda, o degli sviluppatori?
a mio avviso è colpa degli sviluppatori... la differenza qualitativa percepita abbassando del 10% l'incidenza di alcuni effetti non sarebbe notabile se non con scrupolose analisi frame to frame, mentre la perdita del 10% dei frame medi e minimi può essere più sensibile.

da notare che a 1440p e 4K la perdita di prestazioni per questa ragione è solo del 5%, quindi viene richiesta meno larghezza di banda, ma potrebbe essere dato dal fatto che viene regolato diversamente l'intervento dell'AA, che a risoluzioni maggiori non serve con la stessa incidenza del FHD, mentre in RTX+DLSS, che è un'applicazione assetata di larghezza di banda, la questione diviene ancora più evidente, come puoi vedere dalle linee gobbe che si hanno:

the medium RTX DLSS.PNG

quindi potremmo stare qui a parlare per ore su come si possono fare analisi dei dati per ricavare informazioni utili.

qui, ad esempio, hai scoperto che è il gioco che ha delle sue limitazioni, almeno momentanee, perchè non è correlato all'HW che è disponibile.
almeno io la penso così, perchè purtroppo l'HW non è facilmente manipolabile come il SW e se conti che questo gioco è stato finalizzato nei suoi dettagli fini (le regolazioni degli effetti), nell'era Turing, puoi capire che hanno un po' cannato.
nulla di così eccessivo, ma comunque non è stato studiato per questa generazione di schede, e magari nemmeno la prossima riesce a metterci una pezza, perchè dovrebbe offrire un rapporto tra larghezza di banda effetiva e potenza disponibile superiore...

quando ci saranno reviews che ti offriranno queste analisi tecniche, allora si che avrai un "servizio" confacente ai tempi...
oggi mancherebbero i dati dell'uso dei singoli core, espressi sul grafico nel tempo del framerate, e l'uso della GPU, oltre al consumo della macchina e la temperatura di CPU e GPU... con questi dati riusciresti già ad ottenere la maggior parte delle informazioni necessarie ad analisi approfondite... poi manca anche il check sulle SIMD o framework usati o un test limitando l'uso di SIMD... a quel punto avresti un'analisi sufficientemente completa della situazione, ma andrebbe a discapito sia dei produttori di HW che dei giochi o le applicazioni, perchè evidenzierebbe le mancanze strutturali dei loro prodotti.
in pratica, da parte loro, è meglio che non sai, così non chiedi.

comunque stiamo palesemente in OT...
si dovrebbe aprire un thread su questi argomenti, in modo da scambiare le idee...
 
Ultima modifica:

Entra

oppure Accedi utilizzando

Hot: Quale crypto per il futuro?

  • Bitcoin

    Voti: 23 54.8%
  • Ethereum

    Voti: 15 35.7%
  • Cardano

    Voti: 9 21.4%
  • Polkadot

    Voti: 2 4.8%
  • Monero

    Voti: 6 14.3%
  • XRP

    Voti: 6 14.3%
  • Uniswap

    Voti: 0 0.0%
  • Litecoin

    Voti: 4 9.5%
  • Stellar

    Voti: 3 7.1%
  • Altro (Specifica)

    Voti: 6 14.3%

Discussioni Simili