Perché per giocare devi spendere di più su un PC che su una console

La tua vecchia console di anni fa esegue alcuni giochi molto meglio del tuo PC più recente e più moderno. Perché sta succedendo? Ecco perché ti presenteremo il concetto di Disegna chiamata, che ha a che fare con la scarsa ottimizzazione dei giochi per computer rispetto ad altri sistemi. E qual è il motivo di questa tendenza generale?

Molti videogiochi oggi sono open world, questo significa che invece di avere una serie di parti che dobbiamo superare in sequenza, quello che abbiamo è una mappa unificata in cui accadono più cose contemporaneamente. Dover calcolare tutti gli elementi contemporaneamente comporterebbe il soffocamento del processore centrale. Quindi la mappa, pur essendo unificata, è divisa in piccole sezioni con una schermata di caricamento dove o un filmato nel mezzo. Ciò consente al nostro processore di caricare solo ciò che è in quell'area e scartare il resto degli elementi. Tuttavia, molte volte ci sono ottimizzazioni, non ben fatte.

Perché per giocare devi spendere di più su un PC che su una console

Che cos'è un Draw Call e in che modo influisce sulle prestazioni di gioco?

Il problema è che il CPU non ha un concetto visivo di ciò che si vede e ciò che non si vede, ha semplicemente un elenco di oggetti che deve risolvere la loro interazione con il resto da un fotogramma all'altro. Per ogni oggetto in scena, ciò che viene fatto è ciò che chiamiamo a Disegna chiamata. Cioè, usa un'API grafica come DirectX, OpenGL o Vulkan in modo che la scheda grafica attiri detto oggetto sulla scena . Quindi la generazione della grafica di gioco inizia sempre nel processore centrale.

Le istanze disegnano i batch di chiamate

Al fine di ridurre i costi, ciò che viene fatto oggi è che ogni Draw Call fa riferimento a "un gruppo di poligoni che condividono le stesse proprietà". Grazie a questo, se ad esempio dobbiamo disegnare l'erba di un prato, non abbiamo bisogno di una chiamata al GPU tramite API per ogni filo d'erba, ma possiamo unificarlo. Questo è chiamato lotti o imballato in spagnolo. Ha senso il fatto di unirli in un unico gruppo, dal momento che non è la stessa cosa aspettare più spedizioni di seguito dove il processore deve fermarsi per ognuna di esse e inviarle alla GPU, piuttosto che effettuare un'unica spedizione e dimentica.

Ad esempio, nell'immagine di questa sezione possiamo vedere un gran numero di palline che utilizzano la stessa modellazione, ma colori diversi. Possiamo fare a ciascuno di essi una chiamata all'API grafica, che sono tutti di un colore, oppure raggrupparli tutti in un unico post.

In che modo l'uso di un'API grafica o di un'altra influenza?

Se un processore deve eseguire molte chiamate di estrazione, la soluzione migliore è prendere e dividere il lavoro tra più core. Tuttavia, ciò non è possibile, poiché la lista di disegno creata dalla CPU è solo una. Come ridurre il superamento dei costi? Rimuovere tutte quelle chiamate di sistema che possono funzionare indipendentemente dal disegno della scena e inserirle in elenchi separati. Ciò significa che possono essere trasportati da diversi nuclei. Tuttavia, l'elenco di visualizzazione verrà sempre eseguito sullo stesso kernel.

API Asincrono Draw Call

Il fatto di separare la grafica e l'informatica in due parti diverse è qualcosa che abbiamo visto in DirectX 12 in poi e in Vulkan. Se il gioco è in esecuzione in modalità DirectX 11 o precedente, o in alternativa in OpenGL. Quindi la quantità di Draw Call sarà maggiore, anche se gran parte sarà per il calcolo e non per la grafica. A un livello semplicistico, non sono altro che richieste alla scheda grafica per eseguire una serie di calcoli. Ma è importante per ridurre il numero di chiamate al grafico, poiché a seconda del tipo di sistema su cui è in esecuzione il gioco, la quantità di Draw Call può essere un problema per le sue prestazioni.

Il Draw Call e la scheda grafica

In genere, è l'unità DMA all'interno della GPU che copia gli elenchi di visualizzazione dal sistema RAM alla RAM della scheda grafica (VRAM) utilizzando l'interfaccia PCI Express. Tuttavia, Resizable BAR consente al processore centrale di fare il contrario, inviando i dati direttamente al grafico. Tuttavia, l'ideale sarebbe un modello di memoria unificato per l'accesso, ma oggi non lo abbiamo su PC o console.

abbattimento

Una delle cose che deve fare la scheda grafica è determinare la visibilità degli oggetti, questo significa che deve eliminare tutti gli oggetti che non si vedono in quel frame. Cioè: quelli che sono troppo lontani, quelli che sono fuori dalla telecamera o quelli che sono coperti da altri oggetti più grandi. Il processore centrale non sa se questi oggetti soddisfano queste condizioni o meno, sa semplicemente che sono sulla scena e la GPU della scheda grafica sarà incaricata di eseguire il processo di scarto.

Perché su PC i giochi sembrano essere meno ottimizzati?

In genere, se il framerate è abbastanza alto, gli sviluppatori del gioco non si preoccuperanno se il numero di chiamata è troppo alto. Questo è un problema su PC, poiché l'hardware è in continua evoluzione e tende a mancare di ottimizzazione. Mentre su console, c'è la tendenza a ridurre il numero di chiamate API per mantenere il frame rate alto e stabile.

gameplay resident evil 2 remake 4k 60 fps

Curiosamente, i giochi meglio ottimizzati sotto questo aspetto sono i giochi come servizio, anche se non tutti, il motivo è che si basano sul far giocare le persone gratuitamente e sono finanziati tramite pagamenti sporadici dai loro utenti. Per questi è estremamente importante avere la più ampia quota di mercato possibile. Ciò che ha portato a un predominio di questa classe di titoli nel mercato. Chiaro e semplice la maggior parte del pubblico può eseguirli senza problemi. D'altra parte, i giochi con un carico grafico elevato a causa della pessima ottimizzazione su PC potrebbero richiedere il doppio della potenza rispetto a una console per offrire la stessa qualità.

Non è una cosa che accade anche su PC, dal momento che potrebbe essere che uno studio incaricato di convertire un gioco su una specifica console cada nello stesso problema di mancata ottimizzazione. Quindi, alla fine, gran parte della colpa per quel gioco che non funziona bene sul tuo computer è umana e non l'hardware che hai.

Realtà

Una volta spiegate le ragioni tecniche, dobbiamo parlare dei politici che influenzano molto più di quanto si pensi. I produttori di console hanno dipartimenti di qualità che testano i giochi per le loro console e verificano che funzionino correttamente. Tuttavia, quando un titolo è molto importante, questo porta a una corsa contro il tempo che si traduce in patch del primo giorno e persino disastri come Cyberpunk 1.

Questo non esiste su PC, né su Epic Store né su Valve Steam avere un processo di qualità che certifica che i giochi sono ben ottimizzati. Nemmeno tu puoi con la pletora di diverse configurazioni hardware sul mercato. Perché preoccuparsi che il PC di oggi non esegua bene un gioco quando lo farà domani?