Bagikan melalui


Manfaat WDDM

Catatan

Driver XDDM dan VGA tidak akan dikompilasi pada Windows 8 dan sistem operasi yang lebih baru. Jika perangkat keras tampilan dilampirkan ke komputer Windows 8 tanpa driver yang disertifikasi untuk mendukung WDDM 1.2 atau yang lebih baru, sistem default menjalankan Driver Tampilan Dasar.

Membuat driver grafis/tampilan lebih mudah menggunakan WDDM dibandingkan dengan menggunakan Windows 2000 Display Driver Model (XDDM), karena penyempurnaan berikut. Selain itu, driver WDDM berkontribusi pada stabilitas dan keamanan sistem operasi yang lebih besar. Kode driver yang lebih sedikit berjalan dalam mode kernel di mana ia dapat mengakses ruang alamat sistem dan mungkin menyebabkan crash.

  • Runtime Direct3D dan subsistem kernel grafis DirectX (Dxgkrnl) melakukan lebih banyak pemrosesan tampilan; yaitu, lebih banyak kode berada dalam runtime dan subsistem dibandingkan dengan driver. Pemrosesan ini mencakup kode yang mengelola memori video dan menjadwalkan buffer akses memori langsung (DMA) untuk GPU. Untuk informasi selengkapnya, lihat Manajemen Memori Video dan Penjadwalan GPU.

  • Pembuatan permukaan membutuhkan lebih sedikit tahap mode kernel.

    Pembuatan permukaan pada sistem operasi yang lebih lama dari Windows Vista memerlukan panggilan mode kernel berturut-turut berikut:

    1. DdCanCreateSurface
    2. DdCreateSurface
    3. D3dCreateSurfaceEx

    Pembuatan permukaan di WDDM hanya memerlukan panggilan driver tampilan mode pengguna CreateResource, yang pada gilirannya memanggil fungsi pfnAllocateCb runtime. Panggilan ini menyebabkan Dxgkrnl memanggil ke fungsi DxgkDdiCreateAllocation driver mode kernel.

  • Panggilan yang membuat dan menghancurkan permukaan dan bahwa kunci dan membuka kunci sumber daya dipasangkan lebih merata.

  • WDDM menangani memori video, memori sistem, dan permukaan terkelola secara identik. Sistem operasi sebelum Windows Vista menangani komponen-komponen ini dengan cara yang sangat berbeda.

  • Terjemahan shader dilakukan dalam bagian mode pengguna dari driver tampilan.

    Pendekatan ini menghilangkan kompleksitas berikut yang terjadi ketika terjemahan shader dilakukan dalam mode kernel:

    • Model perangkat keras yang tidak cocok dengan abstraksi antarmuka driver perangkat (DDI)
    • Teknologi kompilator kompleks yang digunakan dalam terjemahan

    Karena pemrosesan shader terjadi sepenuhnya per proses dan akses perangkat keras tidak diperlukan, pemrosesan shader mode kernel tidak diperlukan. Oleh karena itu, kode terjemahan shader dapat diproses dalam mode pengguna.

    Anda harus menulis kode try/except di sekitar kode terjemahan mode pengguna. Kesalahan terjemahan harus menyebabkan pengembalian ke pemrosesan aplikasi.

    Terjemahan latar belakang (yaitu, kode terjemahan yang berjalan dalam utas terpisah dari utas pemrosesan tampilan lainnya) lebih mudah ditulis untuk mode pengguna.