AMD Ryzen CPU’ları Üzerindeki Mass Effect’teki “Kara Leke” Artefakt Sorununu Çözdü

Silent ya da CookiePLMonster adı ile da geçen 9 senelik oyun geliştiricisi Adrian, Mass Effect’teki garip “black blob” artefakt / aksaklık sorununu düzeltti ve bu yalnızca AMD FX ve Ryzen işlemci sistemlerini etkiledi.

Bu eski Oyun aksaklığı / hatasını bilmemeniz durumunda, Mass Effect yayınlandığında, PC portu gizemli bir ‘bloklu’ karakter dokusu sorunundan etkilenmişti, AMD 2011‘de Buldozer tabanlı CPU‘larını yayınladı ve mevcut tüm AMD Ryzen işlemcilerini bile etkiler. Bu videodan da görebileceğiniz gibi, karakter modellerinin hepsi “siyah şekillerde“.

Oyun geliştiricisi Adrian’ın uzun blog yayınında belirttiği gibi, satıcıya özgü oyun hataları kesinlikle yeni değil, ancak genelde GPU ya da sürücü problemleri ile ilgilidir. Bu, belirli bir tedarikçiden belirli CPU‘ları etkileyen tek grafik hata gibi görünüyor, bu durumda AMD. Bu “siyah karakter dokusu” sorununu çözebilecek mevcut birkaç geçici çözüm var, ancak oyun geliştiricisi bu meselenin temel sebebini bulmaya karar verdi.

Bazı araştırmalardan sonra, AMD’nin FX ve Ryzen işlemcilerinin 3DNow‘u desteklemediği anlaşılıyor! Komut kümesi, bu sebeple önceki varsayım, oyun motorunun bir AMD işlemci algıladığında bu talimatları kullanmaya çalışacağıydı. Adrian‘a göre, durum böyle görünmüyor, çünkü oyun direk olarak bu talimat setini kullanmıyor. Sorun öncelikle İşlemciye Özel Grafik Hattı (PSGP) ile izole edildi ve Adrian, bu özelliğin devre dışı bırakılmasının sorunu düzelttiğini öğrendi.

Daha fazla araştırmanın ardından Adrian, sorunun piksel gölgelendirici sabitlerindeki NaN değerleri ile alakalı olduğunu buldu, ancak sorunu çözdükten sonra bile oyun içi karakter modellerinin bazıları hala ‘koyu gri‘ görüntüler olarak işleniyordu. Biraz daha ayrıntılı bir testten sonra, Adrian nihayet oyun hatalarının yanlış hesaplamalar ile AMD SSE2 komut setini kullandığında problemlere çok duyarlı olduğu bu hatanın gerçek kök sebebini buldu.

Tüm bu süreç / test bazılarınız için çok karmaşık görünebilir, bu nedenle daha fazla ayrıntı için tam Blog gönderisini okumalısınız.

  • Oyunun 3DNow kullanmadığını doğruladık! doğrudan talimatlar (sadece sistem DLL’leri yapar).
  • PSGP’yi devre dışı bırakmanın AMD işlemcilerindeki sorunu çözdüğünü öğrendik.
  • PIX kullanarak, piksel gölgelendirici sabitlerinde suçlu – NaN değerlerini bulduk.
  • Bu değerlerin kökenini D3DXMatrixInverse’e çektik.
  • Bu işlevi karıştırdık ve SSE2 talimatları kullanıldığında Intel ve AMD CPU’lar arasında tutarlı sonuçlar vermediğini öğrendik.
  • Yanlışlıkla XMMatrixInverse’un bu kusura sahip olmadığını ve uygun bir yedek olduğunu öğrendik.

Adrian’ esasında Mass Effect oyununun Steam ve Origin sürümüyle çalışan ve bir ASI Loader ya da herhangi bir üçüncü taraf yazılımı gerektirmeyen bir düzeltme yayınladı. Çok az oyun hatası, grafik kartları yerine belirli bir CPU grubunu etkiledi ve Mass Effect 1, bu siyah bloklu doku aksaklığı / hatasıyla boğuşan PC oyunu gibi görünüyor.

Leave a Reply

Your email address will not be published. Required fields are marked *