«memory-efficiency» etiketlenmiş sorular

Bilgiyi, tam kullanışlılığını korurken, mümkün olduğunca az bellek kaplayacak şekilde organize etmenin ve depolamanın bir yolu.


8
Bunu nasıl yaptılar: Terraria'da milyonlarca fayans
Terraria'ya benzer bir oyun motoru üzerinde çalıştım, çoğunlukla bir meydan okuma olarak ve çoğu şeyi çözdüğümde , kafamı milyonlarca etkileşimli / toplanabilir döşemeyle nasıl başa çıktıklarına dolamıyorum oyun bir anda var. Motorumda Terraria’da mümkün olanın 1 / 20’si civarında olan yaklaşık 500.000 kiremit oluşturmak, hala kiremitleri görüntülemişken bile, kare hızının …

6
Bir 2D oyunda büyük video belleği gereksinimlerini nasıl çözeriz?
Bir 2D oyunda büyük video belleği gereksinimlerini nasıl çözeriz? Allegro C / C ++'da 2D oyun (Factorio) geliştiriyoruz ve oyun içeriği arttıkça video belleği gereksinimlerinde bir sorunla karşı karşıyayız. Halihazırda ilk önce kullanılacak görüntüler hakkında tüm bilgileri topluyoruz, bu görüntüleri mümkün olduğunca kırpıyoruz ve mümkün olduğu kadar sıkı şekilde büyük …


2
Engeller hareket ederken bile A * etkili midir?
Ben sadece yol bulma hakkında bir şeyler öğrenmeye başladım ve A * algoritmasına bakmaya başladım ve asıl endişem, gördüğüm bütün örneklerin etrafında hesapladığı statik engelleri göstermesi. Hareketli engellerim varsa, örneğin, diğer karakterleri söyleyin, karakterin kendi yolunu bulması gerektiği gibi hareket edin, algoritmayı her kareyi çalıştırmak zorunda kalacağımı farz ediyorum, ancak …

1
Neden yeni nesneyi anında başlatmak yerine nesne havuzları oluşturmayı ve kullanmayı düşünmeliyim?
Bu model hakkında birkaç kez okudum (en iyi uygulamalar açısından): Hafıza Ayırma : Yeni nesneyi anında başlatmak yerine, her zaman nesne havuzları oluşturmayı ve kullanmayı düşünün. Bellek parçalanmasının daha az olmasına ve çöp toplayıcının daha az çalışmasına yardımcı olacaktır. Ancak, aslında ne anlama geldiğini bilmiyorum. Nasıl uygulayabilirim? Örneğin, Unity yöntemini …


3
Bellek yetersiz durumlara nasıl hazırlanırsınız?
Bu, iyi tanımlanmış kapsamı olan oyunlar için kolay olabilir, ancak soru, oyuncunun herhangi bir şey oluşturmasına ve oluşturmasına izin verilen sanal alan oyunlarıyla ilgilidir . Olası teknikler: Üst limite sahip bellek havuzları kullanın. Artık periyodik olarak ihtiyaç duyulmayan nesneleri silin. Başlangıçta fazladan bellek ayırın, böylece daha sonra bir kurtarma mekanizması …

1
Bir ses dosyasını çift hızda dışa aktarmanın dezavantajı, oyun motorunun yarı hızda oynatılmasını sağlar mı?
Oyunumun dosya boyutunu ve müziğini kısaltmak istiyorum ve SFX iyi bir yığın alıyor. 120bpm'de bir şarkı veya ses efekti yaparsam ve sonra DAW veya bağımsız bir program kullanarak bir tempo ve perde ikiye katlarsam, yeni çift hızlı ses dosyasını kaydedersem, orijinal dosya boyutunun yarısı olur (şarkı uzunluğu artık yarıya). Sonra …

4
Dinamik Bellek Ayırma ve Bellek Yönetimi
Ortalama bir oyunda, sahnede yüzlerce veya belki de binlerce nesne vardır. Silah atışları (madde işaretleri) dahil tüm nesneler için varsayılan olarak new () yoluyla dinamik olarak bellek ayırmak doğru mu? Dinamik ayırma için herhangi bir bellek havuzu oluşturmalı mıyım yoksa bununla uğraşmanıza gerek yok mu? Hedef platform mobil cihazlarsa ne …

2
Ekran dışı AI işlemek için iyi bir yol?
Örneğin aşkına: Diyelim ki dünyada 10 oda var. Diyelim ki dünyada 10 kişi yaşıyor. Ve her varlığın kendi "günlük rutini" vardır, burada odada belirli eylemler gerçekleştirir ve odalar arasında gezinebilir. Oyuncunun bir seferde sadece bir odada olabileceği düşünüldüğünde, diğer varlıkların diğer odalarda ekran dışında gerçekleştirdiği eylemleri izlemenin iyi bir yolu …


1
Bir varlık bileşen sistemi oyun motorundaki CPU önbelleğinden nasıl faydalanılır?
CPU önbelleğini akıllıca kullanmak için iyi bir mimari olan ECS oyun motoru belgelerinde sık sık okurum. Ama cpu önbelleğinden nasıl faydalanabileceğimizi anlayamıyorum. Bileşenler bir diziye (veya bir havuza), bitişik belleğe kaydedilirse, yalnızca bileşenleri sırayla okursak cpu önbelleği kullanmak için iyi bir yoldur. Sistemleri kullandığımızda, belirli tipte bileşenlere sahip varlıkların listesi …

1
GlDrawArrays ve glDrawElements arasındaki fark
OpenGL ES'de fikrimi yenilerken, karşıma çıktım glDrawArraysve glDrawElements. Nasıl kullanıldıklarını ve neden farklı olduklarını anlıyorum. Anlayamadığım görünmüyor, ben görmek başarısız olmasıdır glDrawElementsaramaları çizmek kaydedebilirsiniz ( beraberlik çağrıları kaydetme dolayısıyla benim burada da söz okudum kitapların çoğu tarafından bahsedilen bir açıklamasıdır). 2 üçgen kullanarak bir kare çizmeye çalıştığım basit bir senaryo …


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.