Kısacası, performans nedenleri programlanamamalarının nedenidir.
Tarih ve Pazar
Geçmişte, şişirilmiş FPU tasarımlarından kaçınmak için köşe ve parça işlemcileri için ayrı çekirdekler vardı. Örneğin sadece parça gölgelendirici kodunda yapabileceğiniz bazı matematiksel işlemler vardı (çünkü bunlar çoğunlukla sadece parça gölgelendiriciler için geçerliydi). Bu, her bir çekirdek türünün potansiyelini en üst düzeye çıkarmayan uygulamalar için ciddi donanım darboğazları üretecektir.
Programlanabilir gölgelendiriciler daha popüler hale geldikçe, evrensel birimler tanıtıldı. Ölçeklemeye yardımcı olmak için donanımda grafik boru hattının giderek daha fazla aşaması uygulandı. Bu süre zarfında GPGPU da daha popüler hale geldi, bu nedenle satıcıların bu işlevlerden bazılarını dahil etmesi gerekiyordu. Yine de GPU'lardan elde edilen gelirin çoğunun hala video oyunları olduğunu belirtmek önemlidir, bu nedenle performansa müdahale edememiştir.
Sonunda büyük bir oyuncu olan Intel, Larrabee mimarisi ile programlanabilir rasterleştiricilere yatırım yapmaya karar verdi . Bu projenin çığır açıcı olması gerekiyordu, ancak performans istenenden daha azdı . Kapatıldı ve parçaları Xeon Phi işlemcileri için kurtarıldı. Yine de diğer satıcıların bunu uygulamamış olduklarını belirtmek gerekir.
Yazılım Rasterizer'ları
Yazılım yoluyla rasterleştirme konusunda bazı girişimler olmuştur, ancak hepsinin performansla ilgili sorunları olduğu görülmektedir.
Dikkate değer bir çaba, 2011'de Nvidia'nın bu makalede yaptığı girişimdi . Bu, Larrabee'nin sonlandırıldığı zamana kadar serbest bırakıldı, bu yüzden bunun bir yanıt olması çok olası. Ne olursa olsun, bu konuda bazı performans rakamları vardır ve bunların çoğu performansı donanım rasterleştiricilerinden birkaç kat daha yavaş gösterir.
Yazılım Tarama ile İlgili Teknik Konular
Nvidia gazetesinde karşılaşılan birçok sorun var. Gerçi yazılım rasterleştiricileri ile ilgili en önemli sorunlardan bazıları şunlardır:
Büyük sorunlar
Enterpolasyon:
Donanım uygulaması, özel donanımda enterpolasyon denklemleri üretir. Parça oluşturucuda yapılması gerektiğinden yazılım oluşturucu için bu yavaştır.
Kenar yumuşatma: Kenar yumuşatma
ile ilgili performans sorunları da vardı (özellikle bellekle). Alt piksel örnekleri ile ilgili bilgiler, bunu tutmak için yeterli olmayan çip belleğinde saklanmalıdır. Julien Guertault, doku önbelleğinin / önbelleğinin yazılımla daha yavaş olabileceğine dikkat çekti. MSAA'nın burada kesinlikle sorunları var, çünkü önbelleği (doku olmayan önbellekleri) taşar ve çipin hafızasına gider. Rasterizerler, bu bellekte depolanan verileri sıkıştırır ve bu da burada performansa yardımcı olur.
Güç Tüketimi:
Simon F, güç tüketiminin daha düşük olacağını belirtti. Bu makale, özel ALU'ların (güç tüketimini azaltacak) rasterleştiricilerde olduğunu ve geçmişte parça ve köşe işleme birimlerinin özel talimat setlerine (yani büyük olasılıkla özel ALU'lar) sahip olduğu için bu mantıklı olacaktır. Performansın ötesinde sonuçları olmasına rağmen, birçok sistemde (ör. Mobil) kesinlikle bir darboğaz olacaktır.
özet
TL; DR: Yazılım oluşturmanın geçemeyeceği çok fazla verimsizlik var ve bunlar toplanıyor. Özellikle VRAM bant genişliği, senkronizasyon sorunları ve ekstra hesaplamalar ile uğraşırken daha büyük sınırlamalar da vardır.