Residenza driver in WDDM 2.0
In questa sezione vengono fornite informazioni dettagliate sulle modifiche di residenza del driver per Windows Display Driver Model (WDDM) 2.0. La funzionalità descritta è disponibile a partire da Windows 10.
In questa sezione
Argomento | Descrizione |
---|---|
Con l'introduzione del nuovo modello di residenza, la residenza viene spostata in un elenco esplicito nel dispositivo anziché nell'elenco dei buffer per comando. La gestione memoria video garantisce che tutte le allocazioni in un determinato elenco dei requisiti di residenza del dispositivo siano residenti prima che tutti i contesti appartenenti a tale dispositivo siano pianificati per l'esecuzione. |
|
Con l'elenco di allocazione in uscita, la gestione memoria video non ha più visibilità sulle allocazioni a cui si fa riferimento in un determinato buffer dei comandi. Di conseguenza, la gestione memoria video non è più in grado di tenere traccia dell'utilizzo dell'allocazione e gestire la sincronizzazione correlata. Questa responsabilità sarà ora caduta sul driver in modalità utente. In particolare, il driver in modalità utente dovrà gestire la sincronizzazione rispetto all'accesso diretto della CPU all'allocazione e alla ridenominazione. |
|
Per WDDM v2, i requisiti relativi all'offerta e al recupero sono in fase di relax. I driver in modalità utente non sono più necessari per usare l'offerta e recuperare le allocazioni interne. Le applicazioni inattive/sospese elimineranno le risorse interne del driver usando l'API Trimintrodotta in Microsoft DirectX 11.1. |
|
L'accesso dell'unità di elaborazione grafica (GPU) alle allocazioni che non sono residenti non è illegale e comporterà la rimozione di un dispositivo per l'applicazione che ha generato l'errore. Esistono due modelli distinti di gestione di tale accesso non valido a seconda che il motore di errore supporti l'indirizzamento virtuale della GPU o meno:
|
|
In WDDM v2 i processi verranno assegnati budget per la quantità di memoria che possono mantenere residenti. Questo budget può cambiare nel tempo, ma in genere verrà imposto solo quando il sistema è sotto pressione di memoria. Prima di Microsoft Direct3D 12, il budget viene gestito dal driver in modalità utente sotto forma di notifiche di taglio e errori MakeResident con STATUS_NO_MEMORY. Notifica TrimToBudget , Evict e MakeResident non riuscito chiama tutti i budget più recenti sotto forma di valore intero NumBytesToTrim che indica quanto deve essere tagliato per adattarsi al nuovo budget. |