Bagikan melalui


Residensi driver di WDDM 2.0

Bagian ini menyediakan detail tentang perubahan residensi driver untuk Windows Display Driver Model (WDDM) 2.0. Fungsionalitas yang dijelaskan tersedia dimulai dengan Windows 10.

Di bagian ini

Topik Deskripsi

Gambaran umum residensi

Dengan pengenalan model residensi baru, residensi dipindahkan ke daftar eksplisit pada perangkat alih-alih daftar buffer per perintah. Manajer memori video akan memastikan bahwa semua alokasi pada daftar persyaratan residensi perangkat tertentu adalah residen sebelum konteks apa pun milik perangkat tersebut dijadwalkan untuk dieksekusi.

Pelacakan penggunaan alokasi

Dengan daftar alokasi hilang, manajer memori video tidak lagi memiliki visibilitas ke dalam alokasi yang dirujuk dalam buffer perintah tertentu. Akibatnya, manajer memori video tidak lagi berada dalam posisi untuk melacak penggunaan alokasi dan menangani sinkronisasi terkait. Tanggung jawab ini sekarang akan jatuh ke driver mode pengguna. Secara khusus, driver mode pengguna harus menangani sinkronisasi sehubungan dengan akses CPU langsung ke alokasi serta penggantian nama.

Menawarkan dan mengklaim kembali perubahan

Untuk WDDM v2, persyaratan tentang Penawaran dan Reclaim sedang dilonggarkan. Driver mode pengguna tidak lagi diperlukan untuk menggunakan penawaran dan mengklaim kembali alokasi internal. Aplikasi yang diam/ditangguhkan akan menyingkirkan sumber daya internal driver dengan menggunakan TRIMAPI yang diperkenalkan di Microsoft DirectX 11.1.

Akses ke alokasi non-residen

Akses unit pemrosesan grafis (GPU) ke alokasi yang bukan penduduk adalah ilegal dan akan mengakibatkan perangkat dihapus untuk aplikasi yang menghasilkan kesalahan.

Ada dua model berbeda dalam menangani akses yang tidak valid tersebut tergantung pada apakah mesin yang rusak mendukung alamat virtual GPU atau tidak:

  • Untuk mesin yang tidak mendukung alamat virtual GPU dan menggunakan alokasi dan daftar lokasi patch untuk menambal referensi memori, akses tidak valid terjadi ketika driver mode pengguna mengirimkan daftar alokasi yang mereferensikan alokasi yang bukan penduduk di perangkat (yaitu driver mode pengguna belum disebut MakeResidentCb pada alokasi tersebut). Ketika ini terjadi, kernel grafis menempatkan konteks/perangkat yang rusak dalam kesalahan.
  • Untuk mesin yang mendukung alamat virtual GPU tetapi mengakses alamat virtual GPU yang tidak valid, baik karena tidak ada alokasi di belakang alamat virtual atau ada alokasi yang valid tetapi belum dibuat residen, GPU diharapkan untuk meningkatkan kesalahan halaman yang tidak dapat dipulihkan dalam bentuk gangguan. Ketika gangguan kesalahan halaman terjadi, driver mode kernel perlu meneruskan kesalahan ke kernel grafis melalui pemberitahuan kesalahan halaman baru. Setelah menerima pemberitahuan ini, kernel grafis memulai reset mesin pada mesin yang rusak dan menempatkan konteks/perangkat yang rusak dalam kesalahan. Jika reset mesin tidak berhasil, kernel grafis mempromosikan kesalahan ke deteksi dan pemulihan batas waktu lebar adaptor penuh (TDR).

Memproses anggaran residensi

Dalam WDDM v2, proses akan diberi anggaran untuk berapa banyak memori yang dapat mereka pertahankan. Anggaran ini dapat berubah dari waktu ke waktu, tetapi umumnya hanya akan dikenakan ketika sistem berada di bawah tekanan memori. Sebelum Microsoft Direct3D 12, anggaran ditangani oleh driver mode pengguna dalam bentuk pemberitahuan Pangkas dan kegagalan MakeResident dengan STATUS_NO_MEMORY. Pemberitahuan TrimToBudget, Evict, dan MakeResident yang gagal memanggil semua mengembalikan anggaran terbaru dalam bentuk nilai Bilangan Bulat NumBytesToTrim yang menunjukkan berapa banyak yang perlu dipangkas agar sesuai dengan anggaran baru.