2016-03-19 34 views
-1

Merhaba Bir yükleme ekranında, bir 3D Uygulama geliştiriyorum ve tüm resim/modellerde yükleme yapıyorum, ancak şimdi RAM bitmek noktasına ulaşıyorum ve hala daha fazla koymak gerekir uygulamadaki modeller.C# 3d Uygulama bellek ayırma

bir sahneye

Görüntüler (I images/modeller önceden yükleyerek neden dolayısıyla nedeni) eklemek için bir model seçerken ben hala hızlı olmasını uygulama gerekir akılda tutmak yapabileceklerinizle için herhangi bir tavsiye dxt formatında, zaten sıkıştırılmışlar.

Belleği ayırmak için VirtualAlloc'u (gerekirse) bellek ayırmak için VirtualAlloc kullanıyorum.

Her türlü tavsiye büyük önem taşımaktadır.

+0

Onun sesleri ile, seviye başına ihtiyacınız olan modellerin miktarını azaltmanız gerekir .. ve daha sonra bunları sadece seviyeye göre yükleyiniz .. – BugFinder

cevap

-2

Daha fazla bellek alın.

Cidden. Dışarı koşmak? Modern bir masaüstünde sınır 64gb'dir;)

Belleği yönetmek bir sorundur. Sadece 2 seçeneğiniz var: Talep üzerine yükleme (reddediyorsunuz) ve yeterli bellek sağlayarak bununla uğraşmak.

Gerçekten sınırlı olmanızın tek yolu, 32 bitlik bir program yazıyorsanız (3gb belleğin sabit sınırından dolayı, .NET'in bir problemi pratikte 2gb'yi aşan bir sorunla karşılaşırsınız).

+1

Bu doğru değil. Hafıza parçalanması ile hafızanız bitebilir. İyi haber şu ki, .NET 4.5.1'i kullanırsanız, Büyük Nesne Yığını'nı (http://stackoverflow.com/a/27738768/16587) sıkıştırabilirsiniz. Böyle bir şey olduğunda, biraz saçmalık göreceksiniz; ama sizi koşmaya devam etmeyecek. –

+0

^^ Teşekkürler bu biraz yardımcı oldu – Jenzien

+0

Sadece bildiğiniz gibi, bu cevap 3 "Tamam görünüyor" ve 3 "Düşük kalite gözden geçirme" (https://stackoverflow.com/review/ düşük kaliteli-ileti/11703113) – Ferrybig

İlgili konular