Oyunlarda İşlemci Darboğazı Nedir? Nasıl Önlenir?

Ekran kartı oyunlarda, gözünüzle algıladığınız her bir noktanın temel olarak yüzey kaplamasını ve ışıklandırmasını yapar. Ancak bunu yapabilmesi için, üzerini kaplayacağı objenin uzay düzlem üzerindeki koordinatlarına ihtiyaç duyacaktır.

Yazılım, yani oyun, işlemciye giderek ekran kartının son haline getireceği sahnenin koordinatlarını hesaplamasını rica eder. İşlemci, gelen bu nazik teklifi kırmayarak, bu koordinatları hesaplayarak yazılıma teslim eder. Yazılım elindeki koordinatları aynı nezaket içinde ekran kartına teslim eder. Ekran kartı artık mutludur, çünkü hazırlayacağı sahnenin ne olacağını bilmektedir (Pamuk Prenses ve Yedi Cüceler gibi oldu ya, neyse devam edelim).

Ekran kartı sahneyi anladıktan sonra, oyun motorunun ona verdiği sahne için detayları işlemeye başlar. İlk olarak tel (wireframe) çizimler hazırlar. Ardından ikinci kaplama ve son olarak ekrana yansıyan görüntünün son halini bitirir.

Sağdan sola: tel çizim, ilk kaplama, olayın bitmiş hali: (büyütmek için üstüne tıklayın)

Her ne kadar basit bir şekilde anlatıyor olsam da, ekran kartlarının yaptığı hesaplar dudak uçuklatacak cinsten. Şöyle ki:

İnsan gözünün monitörde, bir hareketi sağlıklı olarak algılaması için ekran kartının saniyede 30 adet kare işlenmesi gerekiyor (alt limit 25-26 kare arasıdır).

1920 x 1080 ekranda = 2.0736.000 piksel bulunur.

Saniyede 30 kareden hesaplarsak, ekran kartı bir saniye içinde 62.208.000 tane pikseli işler.

Üst seviye ekran kartlarının GPU’ları (Titan, GTX 780 gibi), en hatırı sayılır işlemcilerin bile üzerinden silindir gibi geçerler. Daha da Türkçe’leştirirsek “ağızlarını, burunlarını kırarlar”. Bu yüzden, küresel çapta bilimsel hesap yapan süper bilgisayarlar, işlemci yerine 20-30 bin kadar ekran kartını kullanır.

Konumuza dönersek, yukarıda anlattığım gibi en basit şekliyle işlemci koordinatları hesaplar, ekran kartı da aldığı bu koordinatların üzerine şehri kurar ve her objenin kaplamasını/ışıklandırmasını yapar. Yani oyunlarda, işlemcinin çok ama çok önemli bir performans girişi yoktur (online ve strateji oyunları hariç, ona biraz sonra değiniyorum).

Diyelim ki elimizde GTX 780 var. Fantezi olsun diye Crysis 3’ü 1024 x 768 çözünürlük ve en düşük detay kalitesinde oynuyoruz. Süreç şu şekilde işleyecektir:

Yazılım işlemciye gidip koordinatları alır, ekran kartına götürür. Ekran kartı bakar ki; çözünürlük düşük, detay kalitesi yerlerde sünüyor.

1920 x 1080 çözünürlükte 62.208.000 piksel hazırlayacağına, 1024 x 768 çözünürlükte 23.592.960 piksel hesaplayacaktır.

Ekran kartı verir coşkuyu ve anormal derecede performansa ulaşır. Ortaya çıkan frame sayısı 100-200 arasıdır. Bu sefer işlemci, ekran kartına koordinatları yetiştirmekte zorlanır. Ekran kartı saniyede 200 frame’e çıkar ama işlemci su koyar, yetiştiremez ve kasılır kalır. Biz buna: işlemci limiti diyoruz.

Aynı GTX 780’le bu sefer Crysis 3 1920 x 1080 çözünürlük ve en yüksek detay kalitesinde oynuyoruz.

Yazılım işlemciye gidip koordinatları alır, ekran kartına götürür. Ekran kartı bakar ki; çözünürlük yüksek, detay kalitesi kendini aşmış. Başlar hesaplamaya. E tabi düşük çözünürlükte coşan kart, bu sefer bu fazla çözünürlüğün/detayın altında ezilir. İşlemci çatır çatır koordinat hesaplayıp gönderirken, ekran kartı gelen işleri yetiştirememeye başlar. Frame sayısı, düşük çözünürlükte 100-200 arası iken, Full HD’de 40-50’ye düşer. Bunun adı da ekran kartı limitidir.

Eğer siz, 3.0GHz üzeri güncel yada bir iki nesil eski bir işlemci kullanıyor ve 1920 x 1080 çözünürlükte oyun oynuyorsanız, işlemci limitine takılmadan, ekran kartı limitine takılacaksınız. Bu durumun istisnası: düşük çözünürlüktür. Eğer düşük çözünürlükte oynamayı düşünüyorsanız, ekran kartı coşacağı için işlemci yetersiz kalacaktır. Ancak bu yetersizlik, oynanabilir seviye olan 30 frame’in bir hayli üzerinde gerçekleşir.

Diğer istisna online ve strateji oyunları.

Ekran kartları, her ne kadar bilimsel hesaplar için süper bilgisayarlarda kullanılıyor olsalar da, bizim bilgisayarda Command & Conquer oynarken tam anlamıyla birer “geri zekalılardır”. Çünkü oyun oynarken tek işleri gelen koordinatları alıp üzerini kaplamaktan ibarettir. Strateji oyunlarda yüksek miktarda yapay zekaya ihtiyaç vardır. Yazılım, zeka işini ekran kartına değil, işlemciye yaptırır. Bu yüzden işlemciye daha fazla iş yükü düşer. Ancak; 3.0GHz üzeri güncel yada bir nesil eski işlemcilerde bu tip sorunlarla karşılaşmayız.

Yazı kaynağı: Haluk Sekendeniz @ Technopat.com‘a aittir.

Forum başlığına git »

Etiketler: , , , ,

106 kez görüntülendi

H. Göktürk

Oyun Radarı yazarı

Oyunlarda İşlemci Darboğazı Nedir? Nasıl Önlenir?” için 2 yorum yapıldı

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir