«multithreading» etiketlenmiş sorular

Birden çok iş parçacığı, aynı kaynakları paylaşan ancak bağımsız olarak çalışabilen tek bir işlem bağlamında birden çok iş parçacığının var olmasını sağlar.

8
Kaç tane konuya sahip olmalıyım ve ne için?
Render ve mantık için ayrı başlıklar olmalı mı, yoksa daha da fazlası mı? Veri senkronizasyonunun neden olduğu muazzam performans düşüşünün farkındayım (herhangi bir mutex kilitlemesine izin vermeden). Bunu aşırı uçlara almayı ve akla gelebilecek her alt sistemi düşünüldüğünde konu açmayı düşünüyorum. Fakat bunun da yavaşlayacağı konusunda endişeliyim. (Örneğin, giriş iş …



5
Oyundaki aktörler kendilerini çizmekten sorumlu mu olmalı?
Oyun geliştirme konusunda çok yeniyim, ancak programlamada değil. JavaScript canvaselemanını kullanarak Pong tipi bir oyunla tekrar oynuyorum . PaddleAşağıdaki özelliklere sahip bir nesne yarattım ... width height x y colour Ayrıca Pong... gibi özelliklere sahip bir nesne var width height backgroundColour draw(). draw()Yöntem şu anda sıfırlıyor canvasve bir soru geldi …

4
Birlik'te ana ipliği nasıl dondurmamak?
Hesaplamalı olarak ağır bir seviye üretme algoritmasına sahibim. Bu nedenle, onu çağırmak her zaman oyun ekranının donmasına neden olur. Oyun dondurulmuş olmadığını göstermek için bir yükleme ekranı oluşturmaya devam ederken, işlevi ikinci bir iş parçacığına nasıl yerleştirebilirim?


2
Bir Android oyun kaç tane konu kullanmalı?
En azından, bir OpenGL Android oyunu bir UI iş parçacığına ve tarafından oluşturulan bir Renderer iş parçacığına sahiptir GLSurfaceView. Renderer.onDrawFrame()En yüksek FPS'yi elde etmek için minimum miktarda çalışma yapmalısınız. Fizik, AI, vb. Her kareyi çalıştırmak zorunda değildir, bu yüzden bunları başka bir başlığa koyabiliriz. Şimdi biz var: Renderer thread - …

7
Çok oklu 2D yerçekimi hesaplamaları
Bir uzay keşif oyunu inşa ediyorum ve şu anda yerçekimi üzerinde çalışmaya başladım (XNA ile C # da). Yerçekimi hala ince ayarlamaya ihtiyaç duyuyor, ancak bunu yapmadan önce fizik hesaplamalarımla bazı performans konularına değinmem gerekiyor. Bu, 100 nesneyi kullanıyor, normalde 1000'i fizik hesaplaması olmadan yapıyor, 300 FPS'den (FPS kapağımın) çok …

3
Bir oyunun% 100 CPU kullanması normal midir?
Oyun motorumda çok iş parçacıklı giriş işleme uygulamıştım; burada işletim sisteminden girdi toplamak için çağıran kod ve zaman damgaları ayrı bir iş parçacığında ve ana iş parçasındaki her karede bir araya toplanmış girdiyi yiyorum. mantıksal oyun zamanı. Hepsi işe yarıyor, ancak bu kurulum işlemcimin% 100'ünü kullanıyor. İki çekirdeğim var ve …

3
Çok platformlu çoklu iş parçacığı: Asıl zorluklar nelerdir?
SDL gibi bir kütüphane, iş parçacığı için bir platformlar arası sarmalayıcı API sağlarken, bunun doğrudan farklı platformlarda (masaüstü / mobil) oyunların kolayca geliştirilmesine yol açtığını varsaymanın saf olacağını düşünüyorum. Aşağıdakileri göz önünde bulundurarak (çapraz platform iş parçacığı API'ları verildiğinde) bu şekilde gelişmenin üstesinden gelmenin en iyi yolu nedir: farklı sayıda …

6
İnterpolasyon ve diş açma için veri yapıları?
Son zamanlarda oyunumla bazı kare hızında titreme sorunları ile uğraşıyorum ve en iyi çözüm, Glenn Fiedler (Gaffer on Games) tarafından klasik Fix Your Timestep'te önerilen çözüm olacak gibi görünüyor ! makale. Şimdi - Güncellemem için zaten sabit bir zaman adımı kullanıyorum. Sorun, oluşturma için önerilen enterpolasyonu yapmıyorum. Sonuç olarak, oluşturma …

4
Çok iş parçacıklı bir motordaki iş parçacıkları arasındaki iletiyi daha az hantal hale nasıl getirebilirim?
Şu anda üzerinde çalıştığım C ++ motoru birkaç büyük iş parçacığına ayrıldı - Nesil (yordamsal içeriğimi oluşturmak için), Oynanış (AI, komut dosyaları, simülasyon için), Fizik ve İşleme. İş parçacıkları, iş parçacığından iş parçacığına geçen küçük ileti nesneleri aracılığıyla birbirleriyle iletişim kurar. Adımlamadan önce, bir iş parçacığı tüm gelen iletilerini işler …

5
Oyun mantığı iş parçacığı ve oluşturma iş parçacığı arasında senkronizasyon
Bir oyun mantığı ve renderleme nasıl ayrılır? Burada tam olarak bunu soran sorular var gibi görünüyor ama cevaplar benim için tatmin edici değil. Şimdiye kadar anladığım kadarıyla, onları farklı iş parçacıklarına ayırmanın amacı, oyun mantığının, son olarak swapbuffer çağrısının engelleme çağrısından döndüğü bir sonraki vsync'i beklemek yerine hemen bir sonraki …

2
Sahneler arasında düzgün yükleme ekranı
Bir sonraki sahne yüklenirken bir yükleme animasyonu görüntülemek için bir yükleme ekranı oluşturdum. Bir sonraki sahneyi eşzamansız olarak yüklüyorum: yield return SceneManager.LoadSceneAsync(scene,LoadSceneMode.Additive); Ve ayrıca ayarlandı Application.backgroundLoadingPriority = ThreadPriority.Low;, ancak davranış hala normal bir seviye yükü ile aynı. Bir şey mi kaçırıyorum? Beklenen davranış: Seviyeden çıkın ve kaybolun. Yükleme ekranı belirir. …

4
RTS Oyun AI Konu
Sıfırdan gerçek zamanlı bir strateji oyunu yapmak için bir projem var. Hala erken planlama aşamasındayım ama mekaniği görmek için biraz program yapıyorum. Nasıl programlayacağımı biliyorum. Ayrıca, bilgisayar sınıfları için oyun sınıflarını ve Kural Tabanlı (durum makinesi) yapay zekayı nasıl yapılandıracağım konusunda iyi bir fikrim var. İzci, Görev Yolunu Takip Et, …
14 c#  ai  multithreading 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.