Oyunlarda İşlemci Thread'leri Ne İşe Yarar?

Otoyol örneği güzel. Şöyle düşünün;
2 şeritli yol var, 2 şerit de geniş ama her bir şeritten sadece 1 araba geçiyor. Bu şeritleri toplamda 4'e bölersek her bir şeritten bir adet araba geçebileceği için, yani toplamda 2 değil de 4 araba geçebileceği için, şeritler daha verimli kullanılmış olur. Yapılan işlem sayısı artar ve CPU kullanımı azalır.
 
Otoyol örneği güzel. Şöyle düşünün;
2 şeritli yol var, 2 şerit de geniş ama her bir şeritten sadece 1 araba geçiyor. Bu şeritleri toplamda 4'e bölersek her bir şeritten bir adet araba geçebileceği için, yani toplamda 2 değil de 4 araba geçebileceği için, şeritler daha verimli kullanılmış olur. Yapılan işlem sayısı artar ve CPU kullanımı azalır.
Araba değilde tır geçerse, bölünen şeritlere sığmayacağından, yani yüksek performans gerektiren iş olduğunda sanal çekirdeklerinde etkisi kalkmıyor mu?
 
Araba değilde tır geçerse, bölünen şeritlere sığmayacağından, yani yüksek performans gerektiren iş olduğunda sanal çekirdeklerinde etkisi kalkmıyor mu?
Geçen aracın büyüklüğü önemli değil, bir çekirdek aynı anda 1 işi yapacağına, 2 işi birden yapmış oluyor. İki iş de aynı anda bitecek değil ya? Büyük olan işi tır, diğerini araba olarak düşünün. Biri daha kısa biri daha uzun. Çok saçma oldu ama nasıl anlatılır bilemedim gece gece.
 
Bu kadar tartışmaya gerek yok. Aynı işlemci ile yapılan çok güzel bir test:

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
CPU kullanımı çok düşmese bile performansa (FPS'e) çok ciddi etkisi var.
 
Geçen aracın büyüklüğü önemli değil, bir çekirdek aynı anda 1 işi yapacağına, 2 işi birden yapmış oluyor. İki iş de aynı anda bitecek değil ya? Büyük olan işi tır, diğerini araba olarak düşünün. Biri daha kısa biri daha uzun. Çok saçma oldu ama nasıl anlatılır bilemedim gece gece.
Benimde anlatmak istediğim o aslında. Küçük işlerde sanal çekirdek farkını büyük oranda ortaya koyar ve verimlidir.
 
Benimde anlatmak istediğim o aslında. Küçük işlerde sanal çekirdek farkını büyük oranda ortaya koyar ve verimlidir.
Şöyle de açıklanabilir; İşlemcinin 1 pencere işlem hızı olsun. İki tane pencere açmak istiyoruz. İki pencereye de aynı anda tıklayınca sırayla açılırlar. Bu işlemci 2 Thread olarak çalışınca iki pencere de aynı anda açılmış olur.
 
Şöyle de açıklanabilir; İşlemcinin 1 pencere işlem hızı olsun. İki tane pencere açmak istiyoruz. İki pencereye de aynı anda tıklayınca sırayla açılırlar. Bu işlemci 2 Thread olarak çalışınca iki pencere de aynı anda açılmış olur.
Testleri izleyince farkı biraz daha anladım. Sanal olmayan işlemciye göre kullanımı az iken performansı daha fazla. Nereden aklımda kalmış bilmiyorum sanal çekirdeklerin sadece güç tasarrufunda işe yaradıklarını sanıyordum. Eyvallah hocam.
 
Her çekirdek işlemleri sırayla yapıyor, örneğin tek çekirdekli ve sanal çekirdeği de olan bir işlemciyi ele alalım. Sanal çekirdek olmadan 1000 tane işlem yapması gerekiyorsa gerçek çekirdeğin, bunları sırayla yapacağı için 1000. işleme gelene kadar uzun bir süre geçecektir. Fakat işlemci sanal çekirdek oluşturarak 500 gerçek çekirdeğe 500 sanal çekirdeğe yönlendiriyor. Böylece bir çekirdekte yapılması gereken 1000 işlem, 500 işlem süresinde tamamlanabiliyor. Bölünmeden dolayı performans artışı x2 kadar olmuyor tabiki, sonuçta belli bir saat hızı var gerçek çekirdeğin. Gerçek çok çekirdeklerin farkı da burada ortaya çıkıyor zaten. Onlar direk işlemleri çekirdeklere ayırıp her bir çekirdeği tam performansta çalıştırabiliyor. Sanal çekirdekleri güçsüz gerçek çekirdekler olarak görebiliriz. Benim bildiğim bu şekilde çalışıyor.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı