image/svg+xml
Logo Tom's Hardware
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Tom's Hardware Logo
  • Hardware
  • Videogiochi
  • Mobile
  • Elettronica
  • EV
  • Scienze
  • B2B
  • Quiz
  • Forum
  • Sconti & Coupon
Sconti & Coupon
Accedi a Xenforo
Immagine di Questo notebook ha una RTX 4070 e costa meno di 1000€ (se sei MW Club) Questo notebook ha una RTX 4070 e costa meno di 1000€ (se ...
Immagine di Microsoft elimina la storica schermata blu, ecco cosa la sostituirà Microsoft elimina la storica schermata blu, ecco cosa la sos...

Multi-Threaded Rendering

Le API OpenGL 3 riescono solo a rincorrere la concorrenza di Microsoft, che però ha già fatto sapere molto sulle DirectX 11. A meno di novità spettacolari, sulle quali è lecito dubitare, è probabile che le API Microsoft diventeranno l'unico riferimento. Vediamo che cosa è lecito aspettarsi, per l'anno prossimo.

Advertisement

Quando acquisti tramite i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Scopri di più
Avatar di Tom's Hardware

a cura di Tom's Hardware

Pubblicato il 06/10/2008 alle 10:40 - Aggiornato il 15/03/2015 alle 01:15
  • DirectX Vs OpenGL, fine dei giochi?
  • OpenGL 3 (3DLabs e l'evoluzione dell'OpenGL)
  • Necessità di cambiamento
  • La rivelazione
  • Direct3D 11, molte novità sul campo
  • Multi-Threaded Rendering
  • Tessellation
  • Compute Shader
  • Altre questioni

Multi-Threaded Rendering

Se si parla di Multi-Threaded rendering, è facile contestare che gli sviluppatori sono già in grado di gestirlo al meglio, visto che lavorano da anni con CPU multi-core. Non si tratta, quindi, di nulla di nuovo, almeno in apparenze. Potrebbe sorprendervi, ma i motori odierni usano ancora il single-thread per il rendering. Gli altri thread sono usati per il suono, la decompressione delle risorse, la fisica,etc. Il rendering, però, è molto pesante per la CPU, come sappiamo; quindi perché non ottimizzarlo in multi-thread? Ci sono molte ragioni, alcune legate al modo in cui lavora la GPU, e altre legate direttamente alle API 3D. Microsoft ha quindi cercato di risolvere questi problemi, almeno per quanto riguarda la parte delle librerie (chi ha detto Larabee?).

Organizzare in thread il processo di rendering è un'idea molto attraente, ma, resta il fatto che la GPU è solo una (anche quando più GPU sono connesse in SLI o Crosfire, infatti, l'obiettivo è di creare un'illusione che ci sia un'unica GPU virtuale), e quindi un unico buffer comandi. Quando una singola risorsa è condivisa da vari thread, si verifica una mutua esclusione (mutex), per evitare che più thread di comandi scrittura interagiscano simultaneamente, disturbandosi a vicenda.

Questo significa che tutti i vantaggi dell'usare più thread vengono cancellati da alcune sezioni che serializzano il codice. Le API non possono risolvere questo problema, che è legato al modo in cui CPU e GPU comunicano. Ma Microsoft sta per offrire un'API che potrà lavorare attorno a questo problema. Le Direct3D 11 introducono, infatti, un buffer di comandi secondario, che può essere salvato e usato più tardi.

I comandi di scrittura vengono registrati in una lista, che può essere inserita successivamente nel flusso dati principale. Quando si richiama la lista dal thread principale (l'"Execute" nel grafico "Multi-threaded Submission" qui sotto) ci si deve assicurare che il suo thread abbia finito di riempirla. Quindi, c'è ancora una sincronizzazione da effettuare, ma questo modello esecutivo permette almeno di rendere paralleli alcuni lavori, anche se l'accelerazione risultante non è ottimale.

Un altro problema con la precedente versione delle Direct3D ha a che fare con la creazione di risorse, come le texture. Nella corrente versione delle API (9 e 10), la creazione di risorse deve avvenire nel thread di rendering. Gli sviluppatori risolvono il problema creando un thread che legge e decomprime le texture dal disco, e "riempie" le risorse (l'oggetto Direct3D), create nel thread principale.

Ma, come potete immaginare, una grossa parte del lavoro è ancora nel thread principale, decisamente sovraccaricato. Questa impostazione porta ad un lavoro mal bilanciato, mentre sarebbe necessario più equilibrio per ridurre i tempi d'esecuzione. Microsoft ha quindi deciso d'introdurre una nuova interfaccia, con le Direct3D11; con questa nuova versione un programmatore può creare un "Device object" per ogni thread, usato per caricare le risorse. La sincronizzazione all'interno delle funzioni del Device è gestita in maniera migliore dalle Direct3D 10, ed è più economica rispetto al tempo impiegato dalla CPU.

Leggi altri articoli
  • DirectX Vs OpenGL, fine dei giochi?
  • OpenGL 3 (3DLabs e l'evoluzione dell'OpenGL)
  • Necessità di cambiamento
  • La rivelazione
  • Direct3D 11, molte novità sul campo
  • Multi-Threaded Rendering
  • Tessellation
  • Compute Shader
  • Altre questioni

👋 Partecipa alla discussione! Scopri le ultime novità che abbiamo riservato per te!

0 Commenti

⚠️ Stai commentando come Ospite . Vuoi accedere?


Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.

Segui questa discussione
Advertisement

Non perdere gli ultimi aggiornamenti

Newsletter Telegram

I più letti di oggi


  • #1
    6 ventilatori da tenere d'occhio in vista del Prime Day
  • #2
    7 smartphone da tenere d'occhio in vista del Prime Day
  • #3
    6 friggitrici ad aria da tenere d'occhio in vista del Prime Day
  • #4
    6 tablet da tenere d'occhio in vista del Prime Day
  • #5
    Steam: sono iniziati i saldi estivi, ecco le occasioni da non perdere
  • #6
    Lo schermo della Switch 2 è un disastro (ma nessuno te lo sta dicendo)
Articolo 1 di 5
Microsoft elimina la storica schermata blu, ecco cosa la sostituirà
Microsoft sostituirà la storica schermata blu di errore con una nera, più semplice.
Immagine di Microsoft elimina la storica schermata blu, ecco cosa la sostituirà
6
Leggi questo articolo
Articolo 2 di 5
Questo notebook ha una RTX 4070 e costa meno di 1000€ (se sei MW Club)
Offerta senza precedenti quella di Mediaworld, riservata ai clienti MW Club. Un notebook Asus con RTX 4070 scende a soli 982€!
Immagine di Questo notebook ha una RTX 4070 e costa meno di 1000€ (se sei MW Club)
Leggi questo articolo
Articolo 3 di 5
Non è il solito monitor da gaming: HDR600, 4K e -43% di prezzo
Il monitor gaming BenQ MOBIUZ EX2710U da 27 pollici è in offerta su Amazon: 4K, 144Hz e HDR600 a soli 400,77€ invece di 699€!
Immagine di Non è il solito monitor da gaming: HDR600, 4K e -43% di prezzo
Leggi questo articolo
Articolo 4 di 5
Milioni di stampanti in tutto il mondo a rischio sicurezza
Le stampanti Brother presentano vulnerabilità di sicurezza che mettono a rischio i dati degli utenti. Aggiornamenti urgenti necessari.
Immagine di Milioni di stampanti in tutto il mondo a rischio sicurezza
2
Leggi questo articolo
Articolo 5 di 5
QD-OLED su un monitor? È (ovviamente) Samsung, oggi al minimo storico
Offerta imperdibile per il Samsung Odyssey OLED G9 da 49 pollici: monitor gaming curvo DQHD a 240Hz in sconto del 18% su Amazon, ora a 941,72€
Immagine di QD-OLED su un monitor? È (ovviamente) Samsung, oggi al minimo storico
Leggi questo articolo
Advertisement
Advertisement

Advertisement

Footer
Tom's Hardware Logo

 
Contatti
  • Contattaci
  • Feed RSS
Legale
  • Chi siamo
  • Privacy
  • Cookie
  • Affiliazione Commerciale
Altri link
  • Forum
Il Network 3Labs Network Logo
  • Tom's Hardware
  • SpazioGames
  • CulturaPop
  • Data4Biz
  • TechRadar
  • SosHomeGarden
  • Aibay

Tom's Hardware - Testata giornalistica associata all'USPI Unione Stampa Periodica Italiana, registrata presso il Tribunale di Milano, nr. 285 del 9/9/2013 - Direttore: Andrea Ferrario

3LABS S.R.L. • Via Pietro Paleocapa 1 - Milano (MI) 20121
CF/P.IVA: 04146420965 - REA: MI - 1729249 - Capitale Sociale: 10.000 euro

© 2025 3Labs Srl. Tutti i diritti riservati.