İPUCU

Donanım Bilgisayar Donanımı İle İlgili Yardımlaşma Bölümümüz ...

Seçenekler

Shader 3.0 Hatası Nedir?

Blue-Moon - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
10/2013
Nereden:
./systemdown
Mesajlar:
2.065
Konular:
613
Teşekkür (Etti):
364
Teşekkür (Aldı):
522
Ticaret:
(0) %
09-05-2014 18:02
#1
Shader 3.0 Hatası Nedir?
Oyunlarda Pixel Shader 3.0 Sorunu - Pixel Shader Nedir

Shader 3.0 Hatası Nedir?

Öncelikle şunu belirtmek gerek ki karşılaşmış olduğuğunuz ya da merak ettiğiniz "Shader 3.0" bir ekran kartı hatasıdır. En basit şekilde problemi açıklamak gerekirse, Bilindiği üzere sürekli olarak laptop ve buna bağlı olarak da ekran kartı teknolojisi gelişiyor. Bu teknolojik gelişimde ekran kartları için bir basamak da "Shader 3.0 Desteği"dir. Ekran kartlarına söz konusu bu özelliğin kazandırılması üzerine oyun yapımcıları da bu özelliği dikkate alarak oyun üretmeye başladı. Yani yeni çıkan oyunlar ekran kartlarında Shader 3.0 özelliğinin desteklenmesini istiyor. Ya desteklemiyorsa?

Ekran Kartım Shader 3.0 Özelliğini Destekler mi?

Eğer bir oyun kurmuşsanız exe'yle giriş yaptığınızda siyah ekran gelip Shader Hatası vererek sizi oyundan atıyorsa ya da reset atıyorsa desteklemiyor demektir...

Shader Hatasının Çözümü Nedir?

Ne yazık ki bu oyun hatasının tek çözümü ekran kartının yenilenmesidir.

Ek Alıntı Bilgi

Pixel Shader nedir ne değildir bu konuda tekniğe kaçmayan ama faydalı olacağına inandığım birkaç cümle etmek isterim. Deneyeyim:

Piksel'in ne demek olduğunu herhalde açıklamaya gerek yok. Oyun oynayacaksak ekran kartımız bizim monitöre "oynadığımız çözünürlüğe bağlı olarak" milyonlarca piksellik görüntü göndermek ve özetle bunları işlemek zorunda. Bunları işlemek ne demek? Görüntünün bir yapay bilgisayar animasyonu değil de gerçek dünyaya aitmiş gibi görünmesini sağlayacak hesaplar yapmak demek. Örneğin: dinamik değişen gölgeler, monoton değil de dinamik olarak dalgalanan bir deniz manzarası, tek bir tekstürden oluşan monoton bir gökyüzü yerine gerçek dünya gibi birbirinden farklı atmosfer koşulları, oyun içinde aynalarda oyuncunun aksini görmesi-bunun dinamik değişimi vesaire vesaire.. (Dikkat! bu efektlerin tamamı piksel shader'ın yaptığı işlemler değil, şu dinamik bulutlar stencil buffer özelliğince yapılıyor örneğin. Sadece örnek olarak yazdım aklıma gelenleri!)

Eski ekran kartlarında bu işlemlerin hesapların kitapların her piksel için sınırlı ve tekdüze olduğunu farzedin. Oyun programcıları elleri mahkum bir şekilde çip üreticisinin sunduğu kısıtlı komutlar ve fonksiyonlar ile oyunlarını programlamak durumundaydılar. Radeon 8500, Geforce 3/Ti gibi kartlarla beraber ise oyun programcıları her piksele ayrı bir işlem yapabilme şansına kavuştular diyelim, en basitinden rengini bile oyuncunun karşısına çıkmadan önce değiştirebilir hale geldiler. DirectX 8 standartı(API'si) işte bu imkanı sundu. Assembly dilinde ya da kullanacaksa Nvidia'nın Cg dilinde, HLSL'de, OpenGL'de ufak progr*****lar yazıp(notepad ile bile yazılabilir) bunu ekrana görüntü gelmeden önce çipe komut olarak gönderip çalıştırtabildiler. Görüntünün kalitesinin artması dışında render süresi de kısaldı böylelikle; belirli bir efekti üretmek için çipin tanıdığı piksel shader komutlarını kullanınca doğal olarak daha hızlı işlem yapılacak aynen SSE, MMX gibi komut setlerinde olduğu üzere. Yine aynı şekilde normalde 3 geçişte yapılacak bir efekti donanımınız PS1.4'ü destekliyorsa tek geçişte gerçekleştirebileceği için sürat kazanabilirsiniz.

"Pixel shader" lafının tanımı işte bu kadar basit. Bunun bir noktası daha var yalnız! Pixel Shader standartları sürüm sürüm. Sürekli geliştiriliyor farzedin. Örneğin 1.0, 1.1, 1.2, 1.3 ve 1.4 gibi farklı üst sürümleri var. Bugün hatırlanacağı üzere FarCry denince PS3.0 lafı akla geliyor, muhakkak orada burada duymuşsunuzdur. Bu şu demek: "şayet satın aldığın makinendeki ekran kartının içindeki çip Piksel Shader 3.0 standartını destekliyorsa bizim elemanlar oyuna bu standarta uygun görüntü efektleri yazdı, bunları çalıştırabilir ve görebilirsin". Şayet desteklemiyorsa ki pazarda bu pahalı ekran kartları çok çok küçük bir kullanıcı kesiminde var ve çoğunluğun PC'si desteklemeyecektir; oyun firması çalışanları aptal olmadıkları için oyun koduna eski standartlarda da aynı efekti elde edebilecek aynı görüntüyü 3 aşağı 5 yukarı aynı şekilde görüntüleyecek alternatif kodlar da ekliyorlar bunu da belirtelim. Doom3'ü bugün bundan dolayı gf4mx'lerde de oynayabilen var. Desteklenmeyen kod çipe gönderilmiyor o kadar.

Özetle pixel shader desteği isteyen bir oyun varsa bunu destekleyen bir ekran kartınız olmalı. Yazılımsal olarak kapatılacak bir iş değil, olsa bile yani ekran kartı yerine PC işlemcisinde bu işleri yaptırtsanız bile oyunu adam gibi oynamak zor olacaktır. Oyunlar donanımdan doğal olarak geç piyasaya sürüldüğünden bugün aldığınız bir donanım 1-2 sene rahat idare ediyor. Elbette ne kadar para o kadar köfte(shader). Ya da mod çıkması için duacı olacağız...Bir de Pixel Shader hesaplarıyla ilgili matematiksel hassasiyet mevzuları var ki bunları yapılan testlerde karşılaştırarak uygun ve hızlı kartı/çipi seçmelisiniz.

Örnek kartlar ve örnek PS sürümleri(bu listedeki bilgilerde hata olabilir! biri düzeltsin varsa!):
PS sürümü----Örnek kart----DirectX API sürümü
------------------------------------------------------------
Pixel Shader 1.1, 1.2, 1.3 --> Geforce 3/4 Ti versiyonları-->DirectX8.0
Pixel Shader 1.4 --> Radeon 8500 ---> DX 8.1*
Pixel Shader 2.0 --> Radeon 9xxx serisi ---> DX9.0
Pixel Shader 3.0(SM3.0=DirectX9.0C) --> Nvidia NV40 serisi çipli kartlar(tüm 68xx serisi destekliyor olsa gerek)

*8.0 ile 8.1 arasında ne fark var örneğin? Birinde örneğin 4 tekstür işleyebilirken diğerinde 6 işliyorsunuz. Birinde 12 komuttan fazla veremezken diğerinde 22 komuta kadar çıkabiliyorsunuz.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı