Beyond3D Web sitesi bu konuda John Carmak ile yapılmış ilginç bir röportaj yayınladı.
B3D:ARB2 modeli neden NV30'da bu kadar yavaş? R300'e kıyasla çok daha yüksek saat hızlarında çalışırken sadece daha yüksek hassaslık NV30'un performansını pek açıklamıyor; üstelik 96 bit'e karşı 128 bit %33'lük bir fark.
J.C.:Görünüşe bakılırsa R300'ün mimarisi standart, düz yöntemlerle çalışan derleyiciler için daha iyi bir hedef; NV30 ise daha ciddi analiz ve planlama gerektirecek kadar dolambaçlı; bu yüzden yeni sürücülerle ciddi ilerlemeler bekliyorlar.
NV30 mimarisi, shader kodunu optimum şekilde çalıştırabilmek için (read:fast) epey optimizasyon gerektirirken, R300 standart kodla çok daha iyi başa çıkıyor. Bu da NVIDIA'nın yeni 3DMark 2003'ü eleştirirken neden bu kadar sert davrandığını açıklıyor: Görünüşe bakılırsa GeForce FX'in (NV30) optimize edilmemiş shader kodu ile problemleri var ve bu kaderi daha yaygın bir kullanıcı kesimi için üretilen kardeşleri NV31 ve NV34 de paylaşacak. Bu sözler yayılırsa - ve bu cemaatte mutlaka yayılır - NVIDIA'nın satışlarını ciddi şekilde etkilyebilir.
Dürüst olmak gerekirse, gerçek oyunlarda bu "handikabın" 3D Mark testindeki kadar öne çıkmaması çok mümkün. Nihayetinde NVIDIA, oyun geliştiricilerini, kodlarını kendi donanımlarına göre optimize etmeye ve uyarlamaya ikna etme konusunda çok başarılı.
Böylece NVIDIA'nın konumunu anladığımıza göre, yeni 3DMark 2003 ile ilgili eleştirileri de anlam kazanıyor. Bu durum aynı zamanda 3DMark'a yeni ve olumlu bir rol de biçiyor: Nötr bir test olarak, donanımın Microsoft'un DirectX mimarisine göre ne derece iyi tasarlanmış olduğunu gösterebilir. Görünüşe bakılırsa 3DMark 2003 istemeden NVIDIA'nın yeni işlemci jenerasyonunun temel bir kusurunu ortaya çıkardı. Yine de bir problem geçerliğini hala sürdürüyor - gerçekten "nötr" bir kod hangisidir ve bu kararı hangi standartlara bakarak vereceğiz?
ATi kendi açıklamasında Futuremark'ın destekliyor:
ATi:
ATi yeni grafik testi 3DMark 03'ü tamamen desteklemektedir. Mevcut ve gelecekteki grafik kartlarının, geleceğe yönelik (1-2 yıl içinde çıkacak) oyunlardaki performansını tahmin etmek için değerli bir ölçüm aracı olduğunu düşünüyoruz. 3DMark 03 gibi sentetik bir test gerçek uygulamalar ve oyun testleri birlikte kullanıldığında, bunun grafik kartlarının genel performansını ve değerini en iyi şekilde yansıtacağına inanıyoruz.
Her oyunda farklı özellikler ve teknikler vardır ve her biri PC'nin farklı bir noktadan zorlar. Bazıları piksel dolgu hızı, bazıları vertex işleme hızı, bazıları bellek bantgenişliği, bazıları CPU gücü, bazıları bunların bir bileşkesini ister. Bu gibi testlerde donanımın hangi yönünün en çok test edildiği genelde açık değildir. Öte yandan sentetik benchmark yazılımları donanımı tüm açılardan zorlayan özel olarak tasarlanmış farklı testler uygulayarak donanımın güçlü ve zayıf yönlerini çok daha kesin bir şekilde ortaya çıkarırlar.
Bu açıklamanın ışığında, NVIDIA testi eleştiren tek taraf olarak yalnız kalmış görünüyor. John Carmack'ın dediği gibi, NVIDIA'nın mimari dezavantajlarını yeni sürücülerle dengelemeyi başarıp başaramayacağını zaman içinde göreceğiz. Bu bağlamda Futuremark'dan bir diğer alıntı çok uygun düşüyor:
Futuremark:
Futuremark'ın önerisi, testlerde her zaman default WHQL onaylı sürücülerin kullanılmasıdır. Çünkü sürücülerde yapılan özel ayarlamalar, gerçek bir karşılaştırma yapılmasını engelleyecek sonuçlar verirler. 3DMark 03'ün lisans anlaşmasına göre yayınlanan tüm testlerde ürünlerin ve sürücülerin genel kullanıma açılan nihai sürümleri kullanılmalıdır.
Ayrıca, 3DMark 03, bağımsız gözlemcilerin, olası sorgulanabilir sürücü optimizasyonlarını yakalayabilmelerini sağlayan gelişmiş analiz araçları içermektedir. Medya, tüm sürücü optimizasyonlarına kesin şekilde reddederek bu uygulamaya karşı durabilir.
NVIDIA'nın Pixel Shader Eleştirisine Cevaplar
Futuremark, NVIDIA'nın pixel shader v1.4 kullanılması ile ilgili eleştirilerini de cevaplıyor. NVIDIA'ya göre PS1.4 mevcut oyunlardaki teknolojiyi de yansıtmadığı için de iyi bir test değil.
NVIDIA:
Son olarak, 2 ve 3 numaralı testlerdeki pixel shader'lar da garip. Bu testlerde sahnedeki tüm pixel shader'lar için PS1.4 kullanılıyor. PS1.4 desteklemeyen donanım içinse PS1.1 sunulmuş. Ancak kuşkulu bir şekilde PS1.3 pixel shader'ların kullanılmadığını görüyoruz. Tiger Woods ve Unreal Tournament 2003 gibi mevcut DirectX 8.0 (DX8) oyunlar PS1.1 ve PS1.3 pixel shader'lar kullanıyor. PS1.4 kullanan varsa bile çok az.
Bu testlerin günümüzün DX8 oyunlarını temsil ettiğini söylemek çok zor. Örnek olarak çok uzağa gitmeye gerek yok, 3DMark'a (3DMark 2001) bakabiliriz. Bu testteki orijinal Nature sahnesi bir DX8 sahne olarak sunulmuştu ve sadece PS1.1 ve PS1.3 shader'lar kullanıyordu. Bir önceki 3DMark sürümünün gerçek oyunlarla bağı mantıklıydı. Ne yazık ki yeni 3DMark farklı bir yöne sapmış görünüyor ve bu DX 8 oyunlarda hiç olmayan bir özelliğe odaklanarak tüketicileri yanlış yönlendiriyor.
Bekleneceği gibi, Futuremark farklı düşünüyor:
Futuremark:
DirectX 8 standartlarına göre dört farklı pixel shader modeli var. Adil bir test için, istenen sahneyi çizmek için gerekli minimum shader geçişini yapabilecek donanım gerekir. Dört shader modelini de analiz edip testlerimizde Pixel Shader 1.2 ve Pixel Shader 1.3'ün Pixel Shader 1.1'e göre ilave özellik veya performans sunmadığını gördük. Bu yüzden en geniş uyumluluk için iki kod modelini kullandık.
İyi bir 3D test, her donanımda, desteklenen en etkili yöntemle aynı sonucu vermelidir. Bir donanım Pixel Shader 1.4'ü destekliyorsa - ki tüm DirectX 9 donanımlar destekliyor - o halde bu donanım bu testlerde daha iyi sonuç verir, çünkü daha az render geçişine ihtiyaç duyar. Ayrıca, 1.4 shader'lar her dokunun iki kez okunmasına olanak tanıyor (1.1'de toplam 4 doku taraması var ancak 1.4'de bu sayı 12 (=6*2)). Bu yüzden sadece Futuremark değil oyun geliştiricileri de, tek ışık kaynağı başına tek geçişli render işlemini 1.3 veya daha düşük bir sürüm pixel shader kullanarak değil sadece 1.4 pixel shader ile gerçekleştirebilirler. 2.0 pixel shader da bu testlerde bir avantaj sağlamıyor. Unutmamak gerekir ki DirectX tasarımı her yeni shader modelinin, önceki shader modellerini kapsamasını gerektiriyor. Bu nedenle tüm DirectX 9 donanımları sadece Pixel Shader 2.0'ı desteklemekle kalmıyor, Pixel Shaders 1.4, 1.3, 1.2 ve 1.1'i de destekliyor.
PS1.4 kullanımı sadece DirectX 8 jenerasyonu kartlar için bir problem. Daha açık belirtmek gerekirse, özellikle NVIDIA'nın GF3 ve GF4 Ti serilerini etkiliyor. Öte yandan ATi'nin RADEON 8500'ünde PS1.4 desteği bulunuyor ve bu durum Radeon 8500'e sahip kartların belirli hesaplamaları tek geçişte yapmasını sağlarken, PS1.1/1.2/1.3 destekli diğer grafik işlemciler iki veya daha fazla geçiş gerektiriyor. DirectX 9 kartlar da PS1.4 problemlerinden de muaf, çünkü DirectX 9 kapsamında 1.4'ü de destekliyorlar (bkz. yukarıda - her yeni shader bir öncekileri kapsamalı). 3DMark 2003 çıkana kadar PS1.4 grafik dünyasında pek rol oynamadı. ATi'nin "Meltdown 2001" etkinliğindeki sunum çok bilgilendiriciydi ancak bu belgeye göre, PS1.4, PS2.0'a (DirectX 9) sürüm isminin çağrıştırdığından daha yakın. Futuremark da bu argümanı destekliyor.