Jump to content

Vulkan API and Multi-threading


fabio.dangelo

Recommended Posts

Credo sia importante annoverare tra gli annunci fatti anche questo, soprattutto perché è di grandissima importanza a livello generale per tutta la piattaforma, permettendo un incremento di prestazioni di tanti nostri computer.

 

Sfruttare tutti i core a disposizione e utilizzare le API Vulkan non solo darà ossigeno molti sistemi che oggi sono un po’ in affanno ma  permetterà, in futuro, di incrementare ancora di più la complessità computazionale di DCS migliorando non solo la grafica ma i modelli di volo, danni, IA e tutto il resto.

 

 

API and Multi-threading

With the integration of these libraries, DCS will benefit from improved performance throughout, including in virtual reality. This has been a substantial task to develop and integrate into our codebase, but we are nearing the end of this journey, and expect it to be available in the 3rd quarter of this year. 

 

 

 

Link to comment
Share on other sites

1 ora fa, Mig Fulcrum ha scritto:

Perdonate l'assoluta ignoranza ma il Multi-threading non continua a lavorare su un singolo core? Se così fosse è un miglioramento ma non credo tanto quanto utilizzare 8/16... core diversi

Non credo che avrebbe molto senso sviluppare il multi-threading per un singolo core....

27 minuti fa, Lordfacker84 ha scritto:

avevano dichiarato le stesse cose anche l'anno scorso...per ora manterrei una bassa aspettativa in proposito...non esaltiamoci troppo presto...e poi cmq non credo che avremo chissà quale rivoluzione a livello di performance...

Quando l’anno scorso annunciarono queste implementazioni dissero subito che non erano vicine e che la strada sarebbe stata lunga, quest’anno annunciano che dovrebbero arrivare per fine anno ed è una cosa ben diversa. Relativamente alle performance ovviamente non possiamo pensare a chissà quale rivoluzione ma un bell’ncremento delle performance (nell’ordine di un 30-50% in più) penso sia plausibile e non è comunque poco.

Link to comment
Share on other sites

Lo sappiamo che con Ed, da un anno all'altro si fa presto a passare ..credo che per un pò questo argomento sarà ancora una volta accantonato, tra un paio d'anni le tecnologie si aggiorneranno ancora e tra nuove schede video e nuove CPU le modalità di sfruttamento tecnologico saranno ancora diverse da oggi...e dcs sarà ancora vecchio. Sinceramente non sono molto fiducioso in proposito ...anche se forse come cosa non è nemmeno così negativa..alla fine aggiornare il PC non è mai una gran priorità con Dcs...cosa me ne faccio di un 8 core quando il mio vecchio sandy bridge 4 core overcloccato a 4.8 Ghz va praticamente uguale....tac risparmiare 


Edited by Lordfacker84
Link to comment
Share on other sites

14 hours ago, Mig Fulcrum said:

Perdonate l'assoluta ignoranza ma il Multi-threading non continua a lavorare su un singolo core? Se così fosse è un miglioramento ma non credo tanto quanto utilizzare 8/16... core diversi

 

I Kernel delle CPU moderne (multi-core) sono ottimizzati per reindirizzare in maniera efficiente i singoli processi (thread) verso i vari Core disponibili. Questo reindirizzamento lo fa automaticamente il Kernel (salvo rare eccezioni). Rendere efficiente un'applicazione vuol dire dunque programmare i singoli processi (thread) affinchè tale reindirizzamento sui vari Core della CPU sia, a sua volta, quanto più efficiente possibile. E' quello che la ED sta implementando in questi anni (anche attraverso l'adozione delle API Vulkan, che, da questo punto di vista, sono molto efficaci).

 

12 hours ago, Lordfacker84 said:

avevano dichiarato le stesse cose anche l'anno scorso...per ora manterrei una bassa aspettativa in proposito...non esaltiamoci troppo presto...e poi cmq non credo che avremo chissà quale rivoluzione a livello di performance...

 

9 hours ago, Lordfacker84 said:

Lo sappiamo che con Ed, da un anno all'altro si fa presto a passare ..credo che per un pò questo argomento sarà ancora una volta accantonato, tra un paio d'anni le tecnologie si aggiorneranno ancora e tra nuove schede video e nuove CPU le modalità di sfruttamento tecnologico saranno ancora diverse da oggi...e dcs sarà ancora vecchio. Sinceramente non sono molto fiducioso in proposito ...

 

 

Il lavoro di implementazione delle suddette tecnologie su un codice da milioni (letteralmente) di righe è enorme, non lo fai dalla mattina alla sera.

 

L'anno scorso NON hanno dichiarato le stesse cose: se si leggono con attenzione i due comunicati (quello 2020 e quell0 2021) hanno scritto cose ben diverse. Nel primo parlavano del lavoro di implementazione che avevano iniziato l'anno prima, nel secondo dicono che il lavoro sta volgendo al termine e pensano di poter pubblicare l'aggiornamento entro quest'anno (al netto di rinvii di qualche mese, data la complessità di cui sopra).

 

Tra l'altro la ED ha già affontato un aggiornamento del genere con l'implementazione di EDGE che ha significato il passaggio dalle DirectX 9.0c alle DirectX 11.

 

 

Bye

Phant


Edited by phant
  • Like 2

AMVI

Link to comment
Share on other sites

sto solo dicendo che le tempistiche  con Ed sono da prendere con le pinze....un anno è lungo e le cose cambiano...vedi le dichiarazioni sull'uscita dell'f18 dall'early access...non occorre sempre farne un caso politico...dico solo che è inutile farsi aspettative con così largo anticipo

Link to comment
Share on other sites

On 1/9/2021 at 2:26 PM, fabio.dangelo said:

........ Relativamente alle performance ovviamente non possiamo pensare a chissà quale rivoluzione ma un bell’ncremento delle performance (nell’ordine di un 30-50% in più) penso sia plausibile e non è comunque poco.


ragazzi, il probelam delle performance che riscontriamo su DCS non sono di certo dovute alle API utilizzate dal loro engine ad oggi ( DX11 ), quanto piuttosto da come il tutto è strutturato e programmato.
Non bisogna aspettarsi un incremento di performance solo perchè stanno cambiando API, non c'è nulla di più sbagliato.

Le Vulkan mettono a disposizione strumenti sicuramente più moderni delle DX11, ma non per questo vuol dire in automatico un +30/+50% di performance.
La vera speranza è, visto il cambio di API, che abbiano messo mano a tuttol'engine facendo un bel revamp di tutto il codice, rendendolo al passo coi tempi anche in temrini di performance.

Ma ripeto, questo non ha nulla a che vedere con le API in se, risultati simili se non migliori si possono ottenere anche con DX12.
Se programmo da cani, programmo da cani in qualsiasi linguaggio tendenzialmente. Dobbiamo purtroppo fare i conti con questo!

FlighRIG => CPU: RyZen 5900x | RAM: 64GB Corsair 3000Mhz | GPU: nVIDIA RTX 4090 FE | OS Storage: SSD NVMe Samsung 850 Pro 512GB, DCS Storage: SSD NVMe Sabrent 1TB | Device: Multipurpose-UFC, VirPil T-50, TM WARTHOG Throttle, TrackHat, MFD Cougar with screen.

Our Servers => [ITA] Banshee | Krasnodar - PvE | PersianConquest PvE Live Map&Stats | Syria Liberation PvE Conquest

Support us on twitch subscribing with amazon prime account linked, it's free!

Link to comment
Share on other sites

 

10 hours ago, Maverick87Shaka said:

La vera speranza è, visto il cambio di API, che abbiano messo mano a tuttol'engine facendo un bel revamp di tutto il codice, rendendolo al passo coi tempi anche in temrini di performance.

 

Le tecnologie di cui sopra sono la principale linea di sviluppo di DCS in termini di impiego di staff ed investimento (ci lavorano da quasi 3 anni), ergo, credo che la ED abbia ponderato il rapporto costi/benefici di un upgrade del genere.

 

Fare previsioni in termini %, ad oggi, sui miglioramenti derivanti dal nuovo engine grafico basato su Vulkan è sicuramente prematuro ma allo stesso tempo è ragionevole pensare che i benefici per chi disporrà di un hardware adeguato (non necessariamente di ultima generazione) saranno tangibili.

 

 

Bye

Phant


Edited by phant

AMVI

Link to comment
Share on other sites

Una precisazione in questa discussione si parla ANCHE di multi-threading, e le mie previsioni di incremento delle performance si basavano più su questo che sull'utilizzo della API Vulkan.

Passare dall'utilizzo di un solo core a sfruttarli tutti c'è, benchmark alla mano, quel tipo di incremento minimo.

Poi essendo appunto una modifica strutturale notevole l'implementazione di queste due tecnologie, sicuramente avranno dovuto fare una pulizia e un aggiornamento del codice profondo e anche questo dovrebbe portare dei benefici, anche se mi aspetto che inizialmente magari a causa di bug e codice ancora da "sgrossare" non sarà cosi evidente.

Indubbiamente sarà comunque sulla lunga un OVVIO vantaggio.


Edited by fabio.dangelo
  • Like 1
Link to comment
Share on other sites

Personalmente sono ottimista, un aggiornamento del genere è un notevolissimo passo avanti per un gioco che a livello di codice possiamo considerare quasi degli anni '90 allo stato attuale quindi il margine di miglioramento è abnorme, diciamo circa 10/20 anni.

Poi boh, sinceramente spero solo che si arrivi a buone prestazioni in VR visto che sto aspettando questo aggiornamento per comprarmelo e aggiornare tutto il mio rig

Link to comment
Share on other sites

Ragazzi ma mi spiegate dove vedete questa grafica così orripilante e datata?

Certo gli scenari di FS2020 sono sicuramente più accattivanti ma per il resto dove trovate di meglio?!?

Gli aerei hanno un dettaglio spettacolare gli effetti di luce sono più che buoni le esplosioni anche, le scie e l’illuminazione notturna sono più che soddisfacenti! Stiamo parlando di un simulatore di volo non certo dell’ultimo FPS uscito. Il tutto in VR crea un immersione nel modo simulato indescrivibile. Ora arriveranno anche le nuove nuvole, che renderanno il cielo ancora più spettacolare e realistico.

 

bho sarò io che sono vecchio e ho iniziato a volare con il Commodore 64 e lo spectrum....

 


Edited by fabio.dangelo
  • Like 1
Link to comment
Share on other sites

2 ore fa, Mig Fulcrum ha scritto:

Attenzione, sto parlando di codice non di grafica. Dal punto di vista grafico nulla da dire.

Bhe non so te, ma io il codice di DCS non l'ho mai visto quindi non posso certo esprimermi sulla sua bontà...

 

Inoltre, se posso permettermi, un codice vecchio di 20 anni non significa nulla.

Ho personalmente visto codice C vecchio di 25 anni e Cobol addirittura vecchio di 40 scritto alla perfezione per quello che doveva fare che aggiornarlo sarebbe stato addirittura contro producente e ho anche visto codice Java scritto ieri ma talmente da cani da fare totalmente schifo!!

 

La bontà del codice si misura nella sua strutturazione e facilità di estensione e riutilizzo. 

 

Per spiegarmi, (Ipotizzando) se hanno strutturato bene le classi per la gestione (per dire) del Radar e queste sono facilmente espandibili per implementare le nuove modalità e facilmente integrabili in altri moduli allora hanno scritto molto bene il codice; al contrario se il codice di gestione del Radar è scritto da cani che per implementare una nuova modalità rischi di rompere tutto ed è talmente cablata nel modulo che se devi usarlo in un altro aereo lo devi riscrivere da zero, quello è codice spazzatura.

 

Ecco io in realtà non so come è quello di ED spero sia del primo tipo ma non potendolo vedere non saprei dirtelo. Poi ovviamente le cose non sono mai cosi nette come le ho descritte ma possono essere più sfumate di quanto descritto sia in un verso che nell'altro.


Edited by fabio.dangelo
  • Like 1
Link to comment
Share on other sites

Guarda, io non fo (quasi) mai commenti negativi poichè tendenzialmente porre un problema senza pensare ad una soluzione mi sta sul culo. Manco sono un professionista del settore, quindi il mio parere è un po' quello dell'utente medio che mastica di modding e coding, solo in lua, da un 7-8 anni.

 

Il codice di DCS è frutto di un'evoluzione nel tempo che ha come unico problema il fatto che è stata fatta da persone diverse con obiettivi diversi. Penso quindi sia egualmente una min... un'imprecisione sia dire che è obsoleto che dire che è moderno e ordinato. Penso tuttavia che non ci sia nulla di semplice nel lavoro che devono fare sul core del simulatore per continuare ad aggiornarlo senza rompere nulla (teoricamente) e nel mentre fare moduli per portare a casa la pagnotta. A lunghissimo termine, forse, sapendo che da qualche anno quello che scrivono è pensato anche in ottica futura e non solo per un titolo standalone come era LOMAC, penso le cose miglioreranno.

ChromiumDis.png

Author of DSMC, mod to enable scenario persistency and save updated miz file

Stable version & site: https://dsmcfordcs.wordpress.com/

Openbeta: https://github.com/Chromium18/DSMC

 

The thing is, helicopters are different from planes. An airplane by it's nature wants to fly, and if not interfered with too strongly by unusual events or by a deliberately incompetent pilot, it will fly. A helicopter does not want to fly. It is maintained in the air by a variety of forces in opposition to each other, and if there is any disturbance in this delicate balance the helicopter stops flying; immediately and disastrously.

Link to comment
Share on other sites

Chromium, quello che ho espresso e che NON HO nessun elemento per giudicare il codice di DCS.

 

Per il resto, concordo pienamente con te sul fatto che quello che stanno facendo alla ED non sia semplice anzi, ed è per questo che io nei miei commenti sono molto spesso lusinghiero nei loro confronti, perché al contrario di te, sono nel settore e so perfettamente le problematiche e le insidie che ci sono nel gestire progetti cosi complessi.

 

Link to comment
Share on other sites

17 minutes ago, fabio.dangelo said:

Chromium, quello che ho espresso e che NON HO nessun elemento per giudicare il codice di DCS.

 

Per il resto, concordo pienamente con te sul fatto che quello che stanno facendo alla ED non sia semplice anzi, ed è per questo che io nei miei commenti sono molto spesso lusinghiero nei loro confronti, perché al contrario di te, sono nel settore e so perfettamente le problematiche e le insidie che ci sono nel gestire progetti cosi complessi.

 


..hai ragione Fabio.. ho provato fs2020  in VR a confronto DCS e nettamente migliore a livello di prestazioni e anche come grafica non ha nulla da invidiargli... 

Link to comment
Share on other sites

Multi-threading e nuove API devono andare a braccetto. 

Credo che lo scopo ultimo sia gettare le basi per la campagna dinamica , senza questo obbiettivo , attualmente , è inutilizzabile con più 100 unità (di qualsiasi tipo) sulla mappa. 
Faccio un esempio: ci sono alcuni creatori di campagne 3rd party che invece di creare una squadra con 5 unità creano 5 squadre diverse con una in testa e le altre che seguono la testa in formazione. 
Pare che il metodo di calcolo del path della AI all'interno della squadra sia un casino per la CPU , usano questo workaround per ovviare al problema. 

Questa cosa è inaccettabile in una ipotetica campagna dinamica... in VR poi.... 
 

Link to comment
Share on other sites

On 1/9/2021 at 12:37 PM, Mig Fulcrum said:

Perdonate l'assoluta ignoranza ma il Multi-threading non continua a lavorare su un singolo core? Se così fosse è un miglioramento ma non credo tanto quanto utilizzare 8/16... core diversi

 

Dipende, se hai un solo core a disposizione ok, ma se ne hai più di uno il SO spartirà su di essi l'esecuzione dei vari thread, che andranno quindi a girare in parallelo.

Come spiegazione e' il bigname del bigname del riassunto sintetico concentrato, ma rende l'idea.

 

 

Black+Knights_Small.jpg

RDF 3rd Fighter Squadron - "Black Knights": "Ar Cavajere Nero nun je devi cacà er cazzo!"

My Blog (Italian): Notti a (Video)Giocare

~~~~~~~~~~~~~~~~~~~~~~~~~

CPU: i7-11700K@5GHz|GPU: RTX-4070 Super|RAM: 64GB DDR4@3200MHz|SSD: 2x 970EVO Plus + 980 EVO Plus|HOTAS Warthog|TrackIR 5|

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...