Aracılığıyla paylaş


Cihaz Türleri (Direct3D 9)

HAL Cihazı

Birincil cihaz türü, donanım hızlandırılmış taramayı ve hem donanım hem de yazılım köşesi işlemeyi destekleyen hal cihazıdır. Uygulamanızın üzerinde çalıştığı bilgisayarda Direct3D'yi destekleyen bir görüntü bağdaştırıcısı varsa, uygulamanız bunu Direct3D işlemleri için kullanmalıdır. Direct3D hal cihazları donanımdaki dönüştürme, aydınlatma ve rasterleştirme modüllerinin tamamını veya bir bölümünü uygular.

Uygulamalar grafik bağdaştırıcılarına doğrudan erişmez. Direct3D işlevlerini ve yöntemlerini çağırırlar. Direct3D, donanıma hal üzerinden erişir. Uygulamanızın üzerinde çalıştığı bilgisayar hal'i destekliyorsa, hal cihazını kullanarak en iyi performansı elde eder.

Hal cihazı oluşturmak için, cihaz türü olarak D3DDEVTYPE_HAL kullanarak CreateDeviceçağırın.

Başvuru Cihazı

Direct3D, başvuru cihazı veya başvuru rasterleştiricisi olarak adlandırılan ek bir cihaz türünü destekler. Bir yazılım cihazından farklı olarak, başvuru rasterleştiricisi her Direct3D özelliğini destekler. Bu cihaz hata ayıklama amacıyla kullanılmak üzere tasarlanmıştır ve bu nedenle yalnızca DirectX SDK'sının yüklü olduğu makinelerde kullanılabilir. Bu özellikler hız yerine doğruluk için uygulandığından ve yazılımda uygulandığından, sonuçlar çok hızlı değildir. Başvuru rasterleştiricisi, mümkün olduğunda özel CPU yönergelerini kullanır, ancak perakende uygulamaları için tasarlanmamıştır. Başvuru taramasını yalnızca özellik testi veya tanıtım amacıyla kullanın. Bir başvuru cihazı oluşturmak için, cihaz türü olarak D3DDEVTYPE_REF kullanarak CreateDeviceyönteminiçağırın.

HAL ve BAŞV Cihazları karşılaştırması

HAL (Donanım Soyutlama Katmanı) cihazları ve REF (REFerence rasterizer) cihazları iki ana Direct3D cihazı tuşlarına sahiptir; birincisi donanım desteğine dayanır ve çok hızlıdır ancak her şeyi desteklemeyebilir; ikinci, donanım hızlandırma kullanmaz, bu nedenle çok yavaştır, ancak direct3D özellikleri kümesinin tamamını doğru şekilde desteklemesi garanti edilir. Genel olarak yalnızca HAL cihazlarını kullanmanız gerekir, ancak grafik kartınızın desteklemediği gelişmiş bir özellik kullanıyorsanız REF'ye geri dönmeniz gerekebilir.

REF'yi kullanmak isteyebileceğiniz diğer bir zaman da HAL cihazının garip sonuçlar üretmesidir; yani kodunuzun doğru olduğundan emin olursunuz, ancak sonuç beklediğiniz gibi değildir. REF cihazının doğru davranabileceği garanti edilir, bu nedenle uygulamanızı REF cihazında test etmek ve garip davranışın devam edip etmediğini görmek isteyebilirsiniz. Desteklemiyorsa, (a) uygulamanızın grafik kartının desteklemediği bir şeyi desteklediği varsaydığı veya (b) bir sürücü hatası olduğu anlamına gelir. REF cihazıyla hala çalışmıyorsa bu bir uygulama hatasıdır.

Donanım ve Yazılım Köşesi İşleme karşılaştırması

Donanım ve Yazılım köşesi işleme yalnızca HAL cihazları için geçerlidir. İşlem hattı üzerinden köşeler gönderdiğinizde, bunların dönüştürülmesi (dünya tarafından, görünüm ve projeksiyon matrisleri sırayla) ve aydınlatılması gerekir (D3D'nin yerleşik ışıkları tarafından) - bu işlem aşaması T&L (Dönüşüm & Aydınlatma için) olarak bilinir. Donanım köşesi işleme, donanım destekliyorsa bunun donanımda yapıldığı anlamına gelir; ergo, Yazılım köşesi işleme yapılır yazılımdır. Genel uygulama, önce Bir Donanım T&L cihazı oluşturmayı denemektir ve bu başarısız olursa Karma'yı deneyin ve bu başarısız olursa Yazılım'ı deneyin. (Yazılım başarısız olursa, bir hatayla vazgeçin ve çıkın).

Direct3D Cihazları