DX9 API kullanan bir oyunda Mantıksal işlemcilerin kullanımı nasıl olur? anlayamadığım bir konu bu multithreading / multiprocessing kısmı. Mesela bir oyun neden sadece 1 fiziksel çekirdeğe yüklenir ancak diğer fiziksel ve mantıksal çekirdekleri kullanmaz anlamadım. Python ve C++ kullanırken CPU kullanımı/İşlem paylaştırma(MT) nasıl gerekli düzeyde arttırılabilir? Sağlam türkçe kaynak bulamadım bu konular hakkında. |
Oyunlarda çoklu CPU kullanımı..
-
-
İngilizcen yoksa bu tür mevzulara girmeni tavsiye etmem.
İşi birden fazla cpu ya dağıtmak kazık bir iştir. devasa bir task management yapması lazım. kazık bir iştir. Yani oyun motorlarında bu imkanlar açık olsa da, kazık bir iş olduğu için motorlar direk desteklemez. Unreal bazı işleri (mesela lightmap ) multi thread takılabilir ancak bu yapılan işe görede değişir.
yani kazık bir iştir.
Python için
-
multiprocessing birden çok çekirdek kullanmak. multithreading tek çekirdekteki işleri daha küçük parçalara bölmek oluyor. multiprocessing gerçek anlamda paralel iş yapmak için kullanılır. multithreading de oyunlar için konuşacak olursan paralel iş yapılıyormuş gibi göstermektir. sistemi responsive göstermek için. multiprocessing kullanmak kazık değildir ama multiprocessing ve multithreading'i bir arada kullanmak complex bir yapı oluşturabilir
-
Alıntı
metni:multiprocessing birden çok çekirdek kullanmak. alakası yok, tek çekirdekle de multiprocessing olur.
Alıntı
metni:multithreading tek çekirdekteki işleri daha küçük parçalara bölmek oluyor. bu dediğin şeyin adı hyperthreading, bir donanım özelliğidir, multithreadingle alakası yok.
Alıntı
metni:multiprocessing gerçek anlamda paralel iş yapmak için kullanılır. Unix'te bir pipe açarım, birden fazla process çalışır ama paralel giden hiçbir şey yoktur, ve gayet de gerçektir.
Concurrency ile parallelism arasındaki farkı bilmiyorsun. Aslında hiçbirşey bilmiyorsun, doğru dürüst bir işletim sistemleri dersi almamışsın.
Ben bu konuları 30 yıl önce öğrendim, internet bile yoktu. Sizin haliniz ise bu, yıl 2021.
Bu forumlara takılıp da birşeyler öğrendiğini sananlara Allah akıl fikir versin.
< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 4 Şubat 2021; 7:23:27 >
< Bu ileti mobil sürüm kullanılarak atıldı >
-
Hocam selamlar,
Process ve thread kavramlarını donanıma bağlayıp bu seviyeden ayrım yapmak biraz hatalı galiba. Şunu okuyun lütfen anlayacaksıniz
quote:
The threading module uses threads, the multiprocessing module uses processes. The difference is that threads run in the same memory space, while processes have separate memory. This makes it a bit harder to share objects between processes with multiprocessing. Since threads use the same memory, precautions have to be taken or two threads will write to the same memory at the same time. This is what the global interpreter lock is for.
Spawning processes is a bit slower than spawning threads.
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X