Aynı bit boyutunda oluşturma hedeflerine sahip olmak neden önemlidir?


10

Şu anda ertelenmiş gölgeleme için ne tür GBuffer'a ihtiyacım olacağını düşünüyorum, bu yüzden de en yaygın olanları ve formatları hakkında çevrimiçi olarak kendimi belgelemeye çalıştım.

Gördüğüm GBuffer'ın çoğu, her oluşturma hedefi için aynı bit boyutunu kullandı ve bu da sıklıkla kullanılmayan kanallara yol açtı. Ancak, GBuffer'ım için ilk tahmin olarak, kağıt üzerinde, iki 24 bit hedef ve iki 32 hedef veya üç 24 ve bir 32 gerekir.

Aynı "boyut" a sahip her ekin daha iyi hizalanabileceğini anlıyorum, ancak pratik olarak konuşmak gerekirse kanalları boşa harcamak (veya gelecekteki kullanım için ayırmak) ve aynı büyüklükteki tüm RT'lere sahip olmak daha mı iyidir? Önceki durumda, neden bu kadar avantajlıdır, 24 bit olanlar 32'ye kadar yastıklı olacak mı?

Yanıtlar:


9

Aynı "boyut" a sahip her ekin daha iyi hizalanabileceğini anlıyorum, ancak pratik olarak konuşmak gerekirse kanalları boşa harcamak (veya gelecekteki kullanım için ayırmak) ve aynı büyüklükteki tüm RT'lere sahip olmak daha mı iyidir?

Birleştirilmiş 32 bit hizalanmış İşleme Hedeflerine sahip olmak, "israf" anlamına gelse bile daha iyidir miktar hafızayı . Bu, 32 bit hizalanmamış bir belleğe sahip olmaktan çok daha hızlı olacaktır. Ayrıca, birden çok türde tamponu destekleme konusunda sorun yaşamayacaksınız, birden fazla tip arasında dönüştürme yapmak zorunda kalmayacağınız için tamponları kopyalamak ve birleştirmek daha kolay olacak.

32bit, GPU'lar ve CPU'lar için yereldir, bu nedenle belleği okumak için gereken döngü sayısını azaltırsınız. GPU'lar doğal olarak 32 bit okumaya çalışır, hizalanmış 24 bit gibi hizalanmamış bellek adresini okumaya çalışırsanız, GPU'lar 32 bit okuyacak ve istenmeyen baytları değiştirecektir.

İşte olan detaylı makale neden bellek hizalama konularda (satışlardaki değil GPU'lar yüksek düzeyde kavram hala geçerlidir CPU'lar bahsediyor.)

24 bit olanlar 32'ye kadar doldurulur mu?

Bazı GPU'lar bunu doldurur, ancak garanti edilemez, bu nedenle sürücü / GPU uygulama alanında bulunur. Yani sonuçları profillemeniz ve kontrol etmeniz gerekiyor.

PS: Mimariye bağlı olarak 32bit veya 64bit.


5
ve hepsi aynı bit boyutundaysa, dönüştürmeye gerek kalmadan onları parçalayabilirsiniz
cırcır ucube
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.