Uzun Bir Savaş Öyküsü: NVIDIA, Futuremark ve ATi
Sitemizi düzenli takip edenlerin bildiği gibi, Futuremark'ın bir süre önce çıkardığı 3D Mark 2003 benchmark yazılımı ile ilgili tartışmalar yaşanıyor. Eski 3D Mark 2001 sürümünün aksine, Futuremark'ın istediği bedeli yüksek bularak bu sürümün geliştirme aşamalarına katılmayan NVIDIA, yeni kartlarıyla 3DMark 2003 testlerinde beklediği sonuçları alamayınca, testin teknik geçerliğini ve gelecekteki oyunları yansıtma becerisini sorgulamaya başlamış, Futuremark ise bu iddialara bir açıklamayla cevap vermişti. Bu konuda THG'den Lars Weinand'ın 3D Mark 2003: Oyuncunun Testi (mi?) ve 3DMark 2003 – NVIDIA’ya Cevaplar başlıklı yazılarını okuyabilirsiniz. Ancak bu, maçın sadece ilk raunduydu.
İkinci Raunt: Sürücü Hilesi mi?
İkinci raunt NVIDIA'nın GeForce FX 5900'ü çıkarması ve Ziff-Davis Media'ya ait saygın donanım ve teknoloji sitelerinden ExtremeTech’in bir yazısıyla başladı. ExtremeTech, NVIDIA’nın son sürücüleriyle (Detonator FX 44.03) 3D Mark 2003 testinde hile yaptığı kanısında olduğunu belirtiyor ve bunu kanıtlarıyla ortaya koymaya çalışıyordu. (NVIDIA'nın yeni sürücüleri ile sadece 3D Mark 2003 ile bir avantaj elde etmeyip, kendi iddiası ile Unreal Tournament 2003 gibi oyunlarda  GeForce FX 5600 kartla – %30'a varan bir artış elde ettiğini de not düşelim. Bu seviyede olmasa da çeşitli oyunlarda performans artışı görüldüğü çeşitli sitelerce duyuruldu.)
Kabaca anlatmak gerekirse, günümüzde performans optimizasyonu, büyük ölçüde oyunlarda görünmeyen sahnelerin hesap dışında tutulmasıyla sağlanabiliyor ve kullanıcının bakış açısına göre sahnenin hangi alanlarının hesap dışında tutulacağı yine “hesap ediliyor”. Bu işlemlere de clipping/culling deniyor. Yani oyunlarda, kullanıcının bakış açısına göre hangi alanların
bu clipping/culling işlemine tutulacağı “hesaplanıyor”. Bir test sekansında, kameranın (kullanıcı gözünün) izleyeceği yolu biliyorsanız, görünmeyecek alanları da baştan biliyorsunuz demektir. Bu alanların önüne sürücüyle bir blok koyarak (veya daha basit ifadeyle sürücüye, “sen oralara bakmaya hiç zahmet etme; ben biliyorum, orada hesaplanacak bir şey yok” diyerek) donanımın bu işe zaman ayırmasını önler ve performansı artırabilirsiniz. Bu hile, kameranın izleyeceği yol belli benchmarklarda işe yarar ama oyunlarda işe yaramaz.
ExtremeTech, 3D Mark 2003’ün developer sürümü ile testi durdurup aynı sahneleri farklı açılardan izlediğinde, bu alanlarda önceden hazırlanmış clip blokları ve kusurlar gördüğü için bu sonuca varıyor.
ExtremeTech'e göre ikinci bir hile ise, 3DMark03’ün bazı sahne geçişlerinde renk ve Z boyutu tamponlarının temizlenmemesi. Tamponda kirli kalmış ama kamera yine hep aynı yolu izlediği için kamera yakalanamayacak yerlerde yine bu şekilde tampon bellek alanları 0 ile doldurulup temizlik yapılmayarak bantgenişliği tasarrufu yapılmış. Bu da yine gerçek oyunda yapılamayacak bir hile.
Bu yazı üzerine gerek Futuremark gerek NVIDIA bir inceleme başlatıp iddiaları araştıracaklarını duyurdular.
Ve Futuremark, 3DMark03 İçin Yeni Bir Yama Çıkarır
Futuremark dün basına gönderdiği bir mesaj ile, ExtremeTech ve Beyond 3D tarafından bildirilen bu anormal durumlarla ilgili bir rapor (Audit Report: Alleged NVIDIA Driver Cheating on 3DMark03) hazırladığını, bu raporda belirtildiği üzere NVIDIA'nın yeni Detonator FX sürücülerindeki bazı tespit mekanizmalarının 3DMark03'de yapay olarak yüksek sonuçlar verdiğini, bu hileyi altetmek için bir 3DMark03 yaması (330) çıkardığını duyurdu. Bu yama, şu anda THG editörü Lars tarafından inceleniyor. İsteyenler yamayı buradan indirebilir.
Futuremark bu kadarla da kalmayıp raporunda, ATi'nin yeni Catalyst 3.4 sürücüleriyle, bu seviyede olmasa bile özellikle 3DMark03'te benzer bir hile yapmış olabileceğinden kuşkulandığını da bildiriyor. Futuremark'a göre, yeni yamanın uygulanması sonucu GeForce FX 5900 Ultra aldığı toplam 3DMark03 puanında %24.1 kayıp yaşarken, Radeon 9800 Pro da %1.9'luk bir kayıp yaşıyor ve bu düşüş büyük ölçüde, testin Game 4 bölümünde oluşuyor (bu bölümde %8.2 fark ile).
Raund 3: Nvidia ve ATi'nin Futuremark’ın Reporuna Cevabı
THG bundan sonraki gelişmeleri dün yayınladığı aşağıdaki yazıyla duyuruyor:
Savaşın bu kadarla kalmayacağı belliydi. Futuremark'ın raporunun yayınlanmasının hemen ardından gerek Nvidia gerek ATI, Futuremark'ın raporuna resmi birer cevap verdiler.
NVIDIA'nın bize yaptığı açıklama şöyle: –
“NVIDIA, FutureMark'ın beta programına dahil olmadığı için (bu programa katılım bedeli yüz binlerce dolardır) shader efektlerinin yazılmasında Futuremark ile çalışma şansı bulamadık  ki normalde gerçek uygulama geliştiricilerle birlikte çalışırız. Ne yaptıklarını bilmiyoruz ama görünüşe bakılırsa kasti olarak ürünlerimizi kötü gösterecek bir senaryo yaratmaya çalışıyorlar. Bu bariz, çünkü buna karşılık Unreal Tournament 2003 ve Doom3 gibi oyunlarda aldığımız performans, GeForce FX 5900'ün bugün piyasadaki en hızlı grafikleri sunduğunu gösteriyor.”
Bu açıklamaya bakıldığında sentetik testlerin geçerliğinin tümüyle sorgulandığı açık. Ürün testlerinde çoğu kez gerçek uygulamaların pek çok açıdan daha iyi karşılaştırma ortamı sunduğunu kabul ederiz ancak sürücüler belirli uygulamalara göre de optimize edilebiliyor. Bazıları Futuremark'ın NVIDIA ile bir davası olduğunu söylüyor ancak en azından kendi açıklamalarında böyle gözükmüyor.
Unreal Tournament 2003'ün iyi bit örnek olduğuna katılıyoruz ancak henüz çıkmamış bir ürün olduğu için Doom 3 konusunda emin olmak için erken olduğunu söyleyeceğiz. Kuşkusuz ürünlerin Doom3 motorundaki performans potansiyeli ile ilgili bazı çıkarımlarda bulunmak mümkün ancak bu oyundaki performansla ilgili eksiksiz bir karara varabilmek için Doom3'ün çıkışının yakın olması gerekiyor. Burada soracağımız bir soru da şu: Bu sürücü optimizasyonları oyun oynama veya görüntü kalitesini etkiliyor mu? Görünüşe bakılırsa sadece böyle bir etki varsa bu optimizasyonlar sorgulanabilir
Futuremark'ın raporundan ATI de payını almıştı; onlar da bize şu açıklamayı yaptılar –
“%1.9 performans kazancı, Game Test 4'de iki DX9 shader efektinin (su ve gökyüzü) optimize edilmesinden kaynaklanıyor. Sahneyi tam da Futuremark'ın hedeflediği biçimde, tam hassaslıkta kayar nokta kullanarak render ettik. Shader'larımız matematiksel olarak ve özellik itibarıyla Futuremark’ınkiler ile aynıdır ve görsel kusur bulunmamaktadır; biz sadece talimatları mimarimizin avantajını kullanacak şekilde düzenledik. Oyunlarda görüntü kalitesini düşürmeden kare/sn hızlarını artırmak için yapılan optimizasyonlar tam da bu şekildedir ve bu yüzden oyun performansını ölçmeyi hedefleyen bir benchmark için gerçekçi bir yaklaşımdır. Ancak, bu durumun bazı kişilerce benchmark sonuçlarının geçerliliğini sorgulamak için kullanılabileceğinin farkındayız ve bu yüzden fiziksel olarak mümkün olduğunda bu optimizasyonları sürücülerimizden çıkaracağız. CATALYST'in bir sonraki sürümünde bunları çıkarmayı planlıyoruz.”
ATI, avantaj sağlıyor gibi görünen sürücü kodlarını çıkararak bu konuda doğru adım atıyor gibi görünüyor. Yüzeysel bakıldığında ATI’nin durumunun Nvidia’nınkinden biraz daha farklı olduğu görünüyor. Bunu optimizasyon olarak adlandırsalar da, önümüzdeki haftalarda her iki şirketin de optimizasyon ile artık yaygın şekilde "hile" olarak adlandırılan şey arasındaki ayırımı daha net şekilde ortaya koymaları gerekecek.
Ortaya çıkan bir nokta daha var. Bazı kaynaklara göre, Nvidia halen Futuremark'ın Beta programına dahilken, 3DMark03'ün nihai kodu yayınlanmadan önceki son koda erişme şansı bulmuş. Çeşitli kaynaklar, NVIDIA'nın eriştiği son kod ile nihai sürüm arasındaki farkların çok az olduğunu ileri sürüyorlar.
Peki genele bakıldığında bunun anlamı nedir? Pek çok soru cevaplanmamış kalmaya devam ediyor ancak testçiler ve kart üreticileri 3DMark03'ü donanım performansı ölçmeye yönelik standart bir test olarak kullandıkça, bu konularda hararetli tartışmalar devam edecek. Şu sıralarda, Lars ve Tom durumu değerlendirmek için sıkı bir şekilde çalışıyor ve yakında daha derinlemesine bir rapor sunmayı umuyor. Hepimiz durumla ilgili bir ilk görüşe sahip olmakla birlikte, okuyucularımızın artık iyice karışık hale gelen bu konuya tüm cephelerden bakan düzgün bir araştırma istediğinizi biliyoruz. Biz de bunu yapacağız.