2016-03-31 23 views
-1

Şu anda küçük bir dunguen tarayıcısı geliştiriyorum ve sadece masaüstünde yaklaşık 200 fps var çünkü gerçekten kodumu düzeltmem gerekiyor :). Oyunum farklı odalar ve benzeri farklı düzeyler oluşturmak için bir algoritma kullanıyor. Odalar duvarlara sahip olduğu için, onlara çukurlaşır ve vücut oluşturur. 50x50 haritada, şimdi bol miktarda ceset var ve hepsi aynı zamanda hesaplanıyor ve işleniyor :(. Ayrıca, Box2d Lights'ı ve gölgeleri oluşturmak için rayhandler'ı da kullanıyorum, her vücut gölgeleri gölgelendiriyor :)Libgdx || Box2D Body frustum Culling?

Bir yol var mı? Frustum culling uygulamak? Ve evet ise nasıl :) Herhangi bir kod örnekleri? Vücutlarda fps oranını iyileştirmenin başka yolları var mı?

Ben senin ayarında performansı üzerinde büyük etkisi box2dlights olduğunu düşünüyorum zaman ve ilgi :)

+0

kullanabilirsiniz olabilir, burada yazılan dilek Projemden birini 3000'den fazla gövdeyle 60 fps'de çalıştırmak. Yavaşlama sizin renderunuzdan kaynaklanabilir ??? Ayrıca, aynı zamanda "hesaplama ve oluşturma" yaptığınızdan bahsetmiştiniz? Bu ne anlama geliyor? lütfen bazı kodları gösterin veya netleştirin. – Fish

+0

Bahsettiğim şey, ben de box2d ışıklarını ve rayhandler'ı kullanıyorum, gövdeler de ışık yayıyor :) – genaray

+0

200 fps? 60 bile yeterli olmalı ... – Sebastian

cevap

1

Bu sorunun biraz eski olduğunu biliyorum. Ama box2d ve/veya libgdx ile custing ile ilgili ilk isabet gibi görünüyor. Bunun için bir öğretici yarattı ben başardı çünkü ben, ihtiyacı olan gelecek insanlar iyi i yavaş aşağı çünkü organlarının olduğunu sanmıyorum o

http://erqdev.com/2017/02/26/frustum-culling-with-box2d/

+1

Öğreticiniz harika! Bunun için teşekkürler :) – genaray

+0

Rica ederim. Gelecekte özellikle libGDX ve box2D için bazı şeyler yapıyorum. Geri gelirsen memnun olurum! (mıknatıs etkisi, radar ..) – Keey

0

için teşekkürler (ama bazı profil yapmalıyım emin olmak için). Box2dLights aslında mükemmel değil bazı temel şeyler yapan bir itme mantığına sahiptir. box2dlights performansını artırmak için size olabilir:

  • azaltın (gölge olmaz) X-Ray RayHandler FBO
  • olun küçük
  • Set bazı ışıklar ışınları sayısını azaltın Nesne sayısı (örneğin, küçük duvar parçalarını veya bir şeyi birleştirin)