Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penghapusan perangkat
Jika terjadi kesalahan yang tidak dapat dipulihkan, perangkat DirectML dapat memasuki status "perangkat dihapus". Kesalahan yang tidak dapat dipulihkan yang menyebabkan penghapusan perangkat termasuk penggunaan API yang tidak valid (untuk metode yang tidak mengembalikan HRESULT), kesalahan driver, kesalahan perangkat keras, atau kondisi kehabisan memori (OOM).
Ketika perangkat DirectML dihapus, semua metode memanggil pada perangkat, dan setiap objek yang dibuat oleh perangkat tersebut, menjadi tidak ada operasi. Untuk metode yang mengembalikan HRESULT, kode kesalahan DXGI_ERROR_DEVICE_REMOVED dikembalikan. Anda dapat menggunakan metode IDMLDevice::GetDeviceRemovedReason untuk memeriksa apakah perangkat DirectML telah dihapus, dan untuk mengambil kode kesalahan yang lebih rinci.
Anda tidak dapat memulihkan dari penghapusan perangkat kecuali dengan melepaskan perangkat yang terpengaruh dan semua turunannya, lalu membuat ulang perangkat DirectML dari awal.
Penghapusan perangkat dari perangkat Direct3D 12 yang mendasar tersebut juga menyebabkan perangkat DirectML dihapus. Namun, kebalikannya tidak benar. Penghapusan perangkat DirectML mungkin belum tentu menyebabkan perangkat Direct3D 12 yang mendasar dihapus.
Men-debug penghapusan perangkat DirectML, dan kesalahan lainnya
Penyebab paling umum dari kesalahan DirectML adalah penggunaan API yang tidak valid. Penggunaan API yang tidak valid dapat mengakibatkan kode kesalahan HRESULT E_INVALIDARG , atau dapat mengakibatkan penghapusan perangkat.
Kami sangat menyarankan Anda mengaktifkan lapisan debug DirectML selama pengembangan Anda, untuk menangkap dan men-debug kesalahan tersebut. Lapisan debug DirectML melakukan validasi ekstensif parameter metode dan penggunaan API, dan akan memancarkan pesan output debug untuk membantu Anda men-debug.
Lihat juga
- Windows AI
- Menggunakan lapisan debug DirectML