Ciao, per interagire con noi registrati o accedi al forum. Se vuoi rimanere aggiornato

Discussioni dedicate alla costruzione di un sogno (su PC o Consolle). Puoi trovare ulteriori informazioni nella sezione dedicata ai giochi e videogiochi del sito.
Avatar utente
Messaggio Da Dexter_RM
#354387 :oops:
E8500 con 4Gb ram 2x2 a 1333, GT740 2Gb

Probabilmente anche la scheda grafica non va, però l'errore me lo dava proprio per la cpu, non ricordo cosa diceva. :P
Avatar utente
Messaggio Da vampucio
#354389 io ho un i5-7600, una gtx 970 e 16gb di ram. Il problema di questo gioco è la mal ottimizzazione. Il settaggio grafico che cambia solo le nuvole in cielo (praticamente un'immagine) da solo mi ciuccia il 12% di utilizzo della scheda video. Poi anche le draw calls (le chiamate che vengono fatte per appunto "disegnare" su schermo) che sono a carico della cpu sono assolutamente non ottimizzate. Bastava fare il gioco con le librerie dx12 (facendo fuori purtroppo un immane quantità di giocatori di fascia media) per eliminare quasi tutti i problemi. Ma ovviamente questa è la mia opinione. Loro avranno fatto i loro calcoli. Anche un'altra cosa che non c'è assolutamente è il culling. Praticamente il culling per dirla in breve è una funzione che fa si che il computer non esegua calcoli per tutto ciò che nella telecamera (cioè quello che vedete voi sul monitor) è nascosto. Esempio stupido. Creo un quadrato grande 10x10. Dietro creo un quadrato piccolo 1x1. Con il culling se io guardo frontalmente il quadrato grande, quello dietro mi è invisibile perchè coperto. Ecco ogni engine grafico come si deve non calcolerebbe l'oggetto dietro. Il loro cobra engine, che non è altro che l'evoluzione dell'engine di rct3, invece, calcola tutto. Quindi tu guardi il cielo e il tuo pc sta lì a calcolare tutto anche se non lo vedi, come un idiota. Tutti i giochi esistenti su console da sempre usano il culling per ridurre il carico di lavoro. Credo che tutti gli engine seri su pc facciano altrettanto. Questo no. Non so se per pigrizia loro o se per complessità di modifiche da fare all'engine. Ah un'altra cosa che frega è il tipo di rendering che viene utilizzato dal motore grafico. Utilizzano un rendering "lineare". Praticamente il motore grafico fa delle operazioni in ordine. Fa A poi B poi C poi D e alla fine, dopo che ha fatto D mette tutto su schermo. Questo è rendering di tipo seriale. Cioè eseguo le cose in ordine. Può sembrare migliore ma non lo è perchè tutte le schede ormai sono altamente parallelizzate. Tutti gli engine moderni invece hanno un rendering di tipo deferred. Ossia, per farla in breve, calcolano contemporaneamente A, B, C, D e buttano sullo schermo tutto appena tutti i 4 calcoli sono finiti. Questo da vantaggi enormi sulle gpu moderne con 1 solo ed unico difetto agirabile. Non sono possibili i filtri antialiasing classici. Perchè quelli appunto devono obbligatoriamente essere fatti per ultimi quindi in una serie li metti a D per esempio. Qui sarebbe impossibile. Ovviamente si usano altri filtri altrettanto efficaci e anche più performanti. E dopo questa lunghissima spiegazione, sperando che qualcuno abbia capito :P , vado a giocare che il mio parco mi aspetta.

Vi do un consiglio. Dati appunto i difetti del gioco sopracitati, vi consiglio caldamente di eliminare tutti e dico tutti gli oggetti nascosti. Fate una casa e durante la costruzione avete messo un pezzo di muro che viene coperto da altro? eliminatelo perchè, voi non li vedrete mai essendo dentro un palazzo sigillati ma il vostro computer starà lì a calcolarli costantemente ovunque voi guardiate. Pezzo qui pezzo lì le performance vanno giù
Avatar utente
Messaggio Da muchwoo
#354406 Interessante discorso ma non del tutto veritiero.

Iniziamo con le draw call, quello che dici, ovvero usare le DX12 sicuramente aumenterebbe le prestazioni perchè DX12 possono gestire meglio le informazioni da processare ai vari core della tua CPU (se non sbaglio possono usare più di 2 core), tuttavia dire che le draw call son mal ottimizzate non è del tutto corretto, semplicemente in un gioco sandbox dove il giocatore può piazzare milioni di poligoni dove vuole non può valere la stessa regola di un gioco dove l’ambiente è già stato deciso e BLOCCATO dai programmatori (infatti in Fallout non si possono costruire accampamenti troppo grandi proprio perchè non essendo “ottimizzati” andrebbero ad impattare negativamente sulle prestazioni se troppo grandi).
Quando fai un gioco come Assassin Creed, sai già ogni modello dove verrà posizionato, cosa vedrà il giocatore e di conseguenza il tutto viene ottimizzato nel migliore dei modi (:)), in un sandbox dove dai la completa libertà all’utente di creare il propio “livello” questo non è possibile. Creare un parco in PC è come creare un livello con l’Unreal Engine… prova a buttare dentro milioni di poligoni come in un grande parco di PC e vedrai che anche l’UE4 non ce la fa.

Riguardo al culling esistono invece diverse tecniche per essere utilizzato, alcune funzionano meglio in una situazione, altre meno. Esistono dei culling “automatici” che servono a ben poco se non affiancati da altri sistemi che deve prevedere il level designer. Un’esempio è il “portals culling” che nasconde tutto quello che c’è oltre un “portale”. Capirete che la maggior parte di queste tecniche non possono essere usate in Planet Coaster sempre per la sua natura sandbox dove è possibile zoomare dalle scarpe di un guest fino a vedere l’intero parco.
Insomma non c’è ancora un culling che nasconde perfettamente quello che non vedi… serve sempre un’aiuto da parte del level designer per capire cosa far vedere cosa no (che di fatto è quello che succede in NL2 usando clipping, LOD ed occluder).

Se vi interessa trovate info quì:
http://docs.cryengine.com/display/SDKDO ... +Explained

Riguardo al deferred shading render vs lineare (forward) non so Planet Coaster quale utilizza, ma in generale è vero quello che hai scritto, con le moderne schede grafiche il deferred render è più performante specialmente nel caso ci siano tante fonti di luci nel livello. Le draw calls sono ridotte e verranno visualizzate solo le fonti di luce visibili dal giocatore.
Esempio, No Limits 2 ha guadagnato parecchio da questo cambiamento (son passati da lineare a deferred mesi fa) aumentando le prestazioni in percentuale variabile a seconda del tipo di parco che si sta realizzando.
Non so però se questo metodo è applicabile a PC sempre per la sua natura sandbox (infatti NL2 ricalcola le luci ogni volta che riapriamo il parco… e non possiamo mettere luci/modelli in tempo reale, prima si posizionano, l’engine le compila e poi si può avviare il parco in “play”, un pò come creare un livello in UE4).

Riguardo il discorso che se guardo in cielo ho sempre gli stessi FPS a me non sembra così, prova a parco vuoto (ma con tanto theming) e a parco pieno, con o senza pausa… io ho risultati totalmente diversi.

Approvo invece al 100% l’ultimo consiglio che hai dato… usare il minor numero di pezzi possibili, evitare di inserire poligoni non visibili son la regola per aver un parco (ma anche un videogame) più ottimizzato e performante.
Avatar utente
Messaggio Da vampucio
#354409
muchwoo ha scritto:CUT


sicuro al 100% che usano il "lineare" come rendering perchè come antialiasing c'è il classico MSAA. Gli engine "deferred" non possono, per questo usano FXAA, SMAA eccetera.

Leggerò ciò che hai postato, mi interessa. Per gli oggetti "ottimizzati" io ho fatto un test. Ho preso un parco dal workshop. Era un parco enorme, credo sia di un certo pixel. Mi ero salvato molti palazzi e coaster per usarli nel mio. Praticamente ho "rubato" il suo lavoro :P. Nel mio parco avevo ovviamente ottimizzato il tutto e ricordo nella piramide maya ero riuscito a togliere quasi 200 pezzi invisibili. 200 pezzi sono tantissimi. Mi rendo conto che in fase di costruzione servivano per avere una visione di cosa fare ma dopo andrebbero tolti.
Avatar utente
Messaggio Da muchwoo
#354410 Hai fatto bene! Se i poligoni non si vedono, non vanno messi :D.

Ho controllato anche io l'AA ed è come dici il classico MSAA per cui teoricamente si tratta di rendering lineare.
Ma frugando per la rete ho scoperto che funziona anche con un deferred rendering:

https://docs.nvidia.com/gameworks/conte ... dering.htm

Il mistero si infittisce :D
Avatar utente
Messaggio Da vampucio
#354411
muchwoo ha scritto:Hai fatto bene! Se i poligoni non si vedono, non vanno messi :D.

Ho controllato anche io l'AA ed è come dici il classico MSAA per cui teoricamente si tratta di rendering lineare.
Ma frugando per la rete ho scoperto che funziona anche con un deferred rendering:

https://docs.nvidia.com/gameworks/conte ... dering.htm

Il mistero si infittisce :D


non sapevo si potesse :O in ogni engine dove ho messo mano ho avuto sempre questo vincolo io. Ora non posso ma stasera leggo entrambe le pagine. Ora finiamola qui però che siamo troppo fuori tema :) grazie comunque dei link. E admin scusate per l'offtopic :)
Avatar utente
Messaggio Da muchwoo
#354413 Anche io sapevo che l'MSAA non era possible in un deferred rendering ma ci son più fonti che confutano questa tesi... continuerò ad indagare dato che è un'argomento che mi interessa molto (e questa discussione mi ha incuriosito non poco).
Poi dai non siamo così fuori tema, stiamo cercando di capire perchè Planet Coaster è così maledettamente pesante rispetto a tanti altri game :D .
Avatar utente
Messaggio Da Dexter_RM
#354414 Se servisse veramente un super pc per giocarci sarebbe una follia, cioè dovrei spendere sui 3000€ per "aggiornare" il mio? :shock:
Pensavo ad una configurazione tipo quella di Vampucio (ad oggi mi costerebbe la metà della metà ed anche meno :D ), ed a proposito vorrei chiederti alcune cose:
1- hai overclockato qualcosa?
2- la ram è 2x8 o 4x4? e quant'è la cl?
3- la sk grafica quante ventole ha? (1-2-3)

Muchwoo puoi dirci la tua che utilizzi proprio per Planet Coaster?

Comunque non c'è OT, sono discussioni per ottimizzare il gioco! :wink:
Avatar utente
Messaggio Da muchwoo
#354415 Io ho un I5-6600K con un leggero overclock (7-10%) socket 1151, scheda Geforce 1070 8GB gaming della Gigabyte (già leggermente pompata di fabbrica e comunque leggermente overcloccata anche lei, 3 ventole) e 16GB di ram (2X8 DDR4 3200).

Planet Coaster non gira male, ma quando il parco si popola di migliaia di guest inizia a soffrire.
Soffre meno con un parco deserto ma pieno raso di theming, da quì le mie congetture sul carico di lavoro della CPU.
Avatar utente
Messaggio Da vampucio
#354418
Dexter_RM ha scritto:Se servisse veramente un super pc per giocarci sarebbe una follia, cioè dovrei spendere sui 3000€ per "aggiornare" il mio? :shock:
Pensavo ad una configurazione tipo quella di Vampucio (ad oggi mi costerebbe la metà della metà ed anche meno :D ), ed a proposito vorrei chiederti alcune cose:
1- hai overclockato qualcosa?
2- la ram è 2x8 o 4x4? e quant'è la cl?
3- la sk grafica quante ventole ha? (1-2-3)

Muchwoo puoi dirci la tua che utilizzi proprio per Planet Coaster?

Comunque non c'è OT, sono discussioni per ottimizzare il gioco! :wink:


la ram sono 2x8 in dual channel (ovviamente) 2133mhz con cl 15, la scheda video è una asus turbo gtx970. È il modello con 1 ventola ma che aspira da entrambi i lati, sigillata che butta l'aria all'esterno del case. Ti consiglio vivamente una 1060 o una 1070 però. La cpu invece è un i5-7600. Non ho overclockato nulla. Tutto è di default. Planet coaster mi gira più che decentemente anche con dettagli alti a 60fps. Però ho bloccato manualmente i fotogrammi a 30. In un gioco come questo non vedi assolutamente la differenza ma ci guadagni in qualità potendo alzare i dettagli ;) . Se servono altre info sono a disposizione :)

Muchwoo io ho la tastiera logitech con lo schermino e vedo in tempo reale utilizzo di cpu (dei 4 core in % e temp) la frequenza, utilizzo gpu (% utilizzo, % ram, % ventola, temp), utilizzo ram e altre sciocchezze. Questo gioco è dannatamente cpu limited con parchi grandi. Da qui ho tratto le conclusioni che è penalizzato dalle draw calls.


Se interessa posso postare anche le impostazioni da me utilizzate. Posso anche dare una spiegazione delle varie opzioni, cosa cambia ad attivarle e quanto siano pesanti. Chiedete e vi sarà dato :)