Olabildiğince basit, teknik terimlere, bilgisayar jargonuna hic dokunmadan ve hayati pek cok detayı es gecerek anlatıyorum.
Surec şu şekilde işliyor:
Ekran kartı oyunlarda, gozunuzle algıladığınız her bir noktanın temel olarak yuzey kaplamasını ve ışıklandırmasını yapar. Ancak bunu yapabilmesi icin, uzerini kaplayacağı objenin uzay duzlem uzerindeki koordinatlarına ihtiyac 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 icinde ekran kartına teslim eder. Ekran kartı artık mutludur, cunku hazırlayacağı sahnenin ne olacağını bilmektedir (Pamuk Prenses ve Yedi Cuceler gibi oldu ya, neyse devam edelim).
Ekran kartı sahneyi anladıktan sonra, oyun motorunun ona verdiği sahne icin detayları işlemeye başlar. İlk olarak tel (wireframe) cizimler hazırlar. Ardından ikinci kaplama ve son olarak ekrana yansıyan goruntunun son halini bitirir.
Sağdan sola: tel cizim, ilk kaplama, olayın bitmiş hali:
Her ne kadar basit bir şekilde anlatıyor olsam da, ekran kartlarının yaptığı hesaplar dudak ucuklatacak cinsten. Şoyle ki:
İnsan gozunun monitorde, bir hareketi sağlıklı olarak algılaması icin 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 icinde 62.208.000 tane pikseli işler.
Ust seviye ekran kartlarının GPU'ları (Titan, GTX 780 gibi), en hatırı sayılır işlemcilerin bile uzerinden silindir gibi gecerler. Daha da Turkce'leştirirsek "ağızlarını, burunlarını kırarlar". Bu yuzden, kuresel capta bilimsel hesap yapan super bilgisayarlar, işlemci yerine 20-30 bin kadar ekran kartını kullanır.
Konumuza donersek, yukarıda anlattığım gibi en basit şekliyle işlemci koordinatları hesaplar, ekran kartı da aldığı bu koordinatların uzerine şehri kurar ve her objenin kaplamasını/ışıklandırmasını yapar. Yani oyunlarda, işlemcinin cok ama cok onemli bir performans girişi yoktur (online ve strateji oyunları haric, ona biraz sonra değiniyorum).
Diyelim ki elimizde GTX 780 var. Fantezi olsun diye Crysis 3'u 1024 x 768 cozunurluk ve en duşuk detay kalitesinde oynuyoruz. Surec şu şekilde işleyecektir:
Yazılım işlemciye gidip koordinatları alır, ekran kartına goturur. Ekran kartı bakar ki; cozunurluk duşuk, detay kalitesi yerlerde sunuyor.
1920 x 1080 cozunurlukte 62.208.000 piksel hazırlayacağına, 1024 x 768 cozunurlukte 23.592.960 piksel hesaplayacaktır.
Ekran kartı verir coşkuyu ve anormal derecede performansa ulaşır. Ortaya cı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 cı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 cozunurluk ve en yuksek detay kalitesinde oynuyoruz.
Yazılım işlemciye gidip koordinatları alır, ekran kartına goturur. Ekran kartı bakar ki; cozunurluk yuksek, detay kalitesi kendini aşmış. Başlar hesaplamaya. E tabi duşuk cozunurlukte coşan kart, bu sefer bu fazla cozunurluğun/detayın altında ezilir. İşlemci catır catır koordinat hesaplayıp gonderirken, ekran kartı gelen işleri yetiştirememeye başlar. Frame sayısı, duşuk cozunurlukte 100-200 arası iken, Full HD'de 40-50'ye duşer. Bunun adı da ekran kartı limitidir.
Eğer siz, 3.0GHz uzeri guncel yada bir iki nesil eski bir işlemci kullanıyor ve 1920 x 1080 cozunurlukte oyun oynuyorsanız, işlemci limitine takılmadan, ekran kartı limitine takılacaksınız. Bu durumun istisnası: duşuk cozunurluktur. Eğer duşuk cozunurlukte oynamayı duşunuyorsanız, ekran kartı coşacağı icin işlemci yetersiz kalacaktır. Ancak bu yetersizlik, oynanabilir seviye olan 30 frame'in bir hayli uzerinde gercekleşir.
Diğer istisna online ve strateji oyunları.
Ekran kartları, her ne kadar bilimsel hesaplar icin super bilgisayarlarda kullanılıyor olsalar da, bizim bilgisayarda Command & Conquer oynarken tam anlamıyla birer "geri zekalılardır". Cunku oyun oynarken tek işleri gelen koordinatları alıp uzerini kaplamaktan ibarettir. Strateji oyunlarda yuksek miktarda yapay zekaya ihtiyac vardır. Yazılım, zeka işini ekran kartına değil, işlemciye yaptırır. Bu yuzden işlemciye daha fazla iş yuku duşer. Ancak; 3.0GHz uzeri guncel yada bir nesil eski işlemcilerde bu tip sorunlarla karşılaşmayız.
Olay kısaca bu şekilde. Eğer takıldığınız bir yer varsa soru sormaktan cekinmeyin. Hic birimiz, elimizde klavye ile bu dunyaya gelmedik