Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Direct3D 9'da Direct3D, bir uygulamanın bunlara yanıt verebilmesi için sürücünün E_OUTOFMEMORY, D3DERR_OUTOFVIDEOMEMORY ve D3DERR_UNSUPPORTEDCOLORARG gibi hata kodlarını döndürmesine olanak sağlar. Ancak, bazen bu dönüş türlerini oluşturan API çağrıları bir komut arabelleğine yüklenir ve GPU'ya gönderilmek üzere toplu olarak oluşturulur (bkz. Çalışma Zamanını Denetleme ve Sürücü İyileştirmeleri). Bu durumda, eylem yapılması gerektiğinde hatalar uygulamaya geçirilemez, bu nedenle hata kodu çalışma zamanı tarafından kullanılır ve cihaz nesnesinde bunun oluştuğuna ilişkin bir not yapılır. Daha sonra uygulama IDirect3DDevice9::P resentçağırdığında IDirect3DDevice9::P resent D3DERR_DRIVERINTERNALERROR döndürür. Bu nedenle, IDirect3DDevice9::P resent'dan D3DERR_DRIVERINTERNALERROR alırken uygulama için en iyi yaklaşım cihazı yok etmek ve yeniden oluşturmaktır.
Hata ayıklamayı daha fazla denemek istiyorsanız, hatayı oluşturan API çağrısını bulmaya yönelik birkaç öneri aşağıda verilmiştir:
Olası dönüş değerleri listesi tamamlanmadığından, her API çağrısını şöyle çevreleyerek hangi çağrının başarısız olduğunu bulmayı deneyebilirsiniz:
TRACE ( "Calling DrawPrimitive" ); d3ddev->DrawPrim(...); TRACE ( "done\n" );Çıkış hata ayıklama akışı daha sonra soruna neden olan çağrıyı göstermelidir.
Ayrıca, hata ayıklama amacıyla, cihaz sürücüsünde ek bir sorun olup olmadığını görmek için IDirect3DDevice9::ValidateDeviceher hemen önce IDirect3DDevice9::D rawPrimitiveçağırmayı deneyin (desteklenmeyen işlem, doku biçimlerinin kullanılamaz birleşimi vb.).
Not
IDirect3DDevice9::ValidateDevice, sürücünün yanıt döndürmek için gerçekleştirmesi gereken doğrulama çalışması miktarı nedeniyle dikkatli ve tedbirli kullanılmalıdır.
İlgili konular