Oyunlarda İşlemci Darboğazı Nedir?

'Masaüstü Bilgisayarlar' bölümünde Haluk Sekendiz tarafından 30 Ağustos 2013 tarihinde başlatılan konu.

Konu Durumu:
Mesaj gönderimine kapalı.
  1. Haluk Sekendiz

    Haluk Sekendiz Decipat

    Katılım:
    15 Haziran 2013
    Mesajlar:
    1.247
    Beğenileri:
    1.003
    Yer:
    Konya
    Olabildiğince basit, teknik terimlere, bilgisayar jargonuna hiç dokunmadan ve hayati pek çok detayı es geçerek anlatıyorum.

    Süreç şu şekilde işliyor:

    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:

    wireframe.jpg

    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.

    Olay kısaca bu şekilde. Eğer takıldığınız bir yer varsa soru sormaktan çekinmeyin. Hiç birimiz, elimizde klavye ile bu dünyaya gelmedik :)
     
    Son düzenleyen: Moderatör: 2 Nisan 2017
  2. Sercan Yeşil

    Sercan Yeşil Ziyaretçi

    Daha çok kafam karıştı abi. :D
     
  3. Berke Geyik

    Berke Geyik Ziyaretçi

    Çok yararlı bir rehber hazırlamışsınız,elinize sağlık :) İşlemcimi değiştirmemin zamanı geldi...
     
    Prof Striker bunu beğendi.
  4. Haluk Sekendiz

    Haluk Sekendiz Decipat

    Katılım:
    15 Haziran 2013
    Mesajlar:
    1.247
    Beğenileri:
    1.003
    Yer:
    Konya
    Sorun anlatayım :)

    İşlemci ve ekran kartınız nedir?
     
    1 kişi bunu beğendi.
  5. Bob Marley Faruk

    Bob Marley Faruk Centipat

    Katılım:
    30 Mart 2013
    Mesajlar:
    1.349
    Beğenileri:
    365
    Yani darboğaz dediğimiz şey, ekran kartı çok iyiyse yani yüksek FPS alıyorsa işlemci o kareleri işlemekte zorlanıyor. Yani bu durumda mesela eski nesil i3 işlemciye HD7990 taktık diyelim ve oyunlarda 100-200 FPS görüyoruz. Ama işlemci zorlanıyor, yani bu durumda oyunda bir kasma olur mu? Ya da şöyle mi olur, işlemci bu kareleri işleyemediğini söyler ve ekran kartı biraz yavaşlar, FPS'yi düşürür. Tam anlatamadım da demek istediğim işlemci limiti olduğu zaman ne olur? Düşük FPS mi alırız yoksa yüksek FPS aldığımız halde kasma mı yaşarız?
     
    Mr_Blue bunu beğendi.
  6. Atakan D.

    Atakan D. Centipat

    Katılım:
    6 Temmuz 2013
    Mesajlar:
    915
    Beğenileri:
    443
    İşlemci limiti olduğu zaman sanırım burada işlemci fazla ısınıyor.Kısacası ekran kartı ile işlemci aynı seviyede olmalı.Haluk arkadaşım gerçekten çok güzel anlatmışsın,ellerine sağlık. :)
     
  7. Haluk Sekendiz

    Haluk Sekendiz Decipat

    Katılım:
    15 Haziran 2013
    Mesajlar:
    1.247
    Beğenileri:
    1.003
    Yer:
    Konya
    Temel kural: yüksek çözünürlük ve detay kalitesinde oyun oynarken, işlemci limitine takılmazsınız. Örnek:

    Asus Maximus V Extreme, GeForce GTX 680, 8GB 2400MHz bellekli sabit bir sistem Crysis 2, 1920 x 1080, yüksek detay kalitesi:

    Intel i7-3770K = 72.6 frame

    Intel i3-2100 = 70.1 frame

    Yani 350$'lık bir işlemci ile, 80$'lık eski nesil işlemci arasında sadece 2 frame fark oluşur.

    Aynı sistem, Metro 2033, 1024 x 768, en düşük ayarlar:

    Intel i7-3770K = 148.5 frame

    Intel i3-2100 = 84 frame

    Düşük çözünürlük ve düşük detay kalitesinde, işlemci çok fazla koordinat hesaplayacağı için, ekran kartının hızına yetişemez. Ancak, kimsenin de GTX 780 taktıktan sonra Crysis 3'ü 1024 x 768 çözünürlükte oynayacağını düşünmüyorum.
     
  8. Haluk Sekendiz

    Haluk Sekendiz Decipat

    Katılım:
    15 Haziran 2013
    Mesajlar:
    1.247
    Beğenileri:
    1.003
    Yer:
    Konya
    Bu konunun işlemci sıcaklığı ile yakında uzaktan bir ilgisi yok :)

    Oyun ayarları ve aldığınız frame sayısı nedir?
     
    1 kişi bunu beğendi.
  9. Raşit Gönenç

    Raşit Gönenç Decipat

    Katılım:
    28 Haziran 2012
    Mesajlar:
    2.692
    Beğenileri:
    941
    Yer:
    Bucak-Burdur
    Çok güzel gayet bilgilendirici bir konu. Elinize sağlık.
     
  10. Haluk Sekendiz

    Haluk Sekendiz Decipat

    Katılım:
    15 Haziran 2013
    Mesajlar:
    1.247
    Beğenileri:
    1.003
    Yer:
    Konya
    Muhtemelen sıcaklıkla ilgili bir sorununuz var.
     
Yüklüyor...
Konu Durumu:
Mesaj gönderimine kapalı.

Sayfayı Paylaş