2016-03-31 2 views
-1

В настоящее время я разрабатываю маленький искатель дунгунов, и потому, что у меня только около 200 кадров в секунду на рабочем столе, мне действительно нужно исправить свой код :). В моей игре используется алгоритм создания разных уровней с разными комнатами и так далее. Потому что в комнатах есть стены, я петлю через них и создаю тела. На карте 50x50 есть множество тел, которые сейчас и все вычисляются и отображаются в одно и то же время :(Я также использую Box2d Lights и лучевой манипулятор для создания теней, каждое тело отбрасывает тени :)Libgdx || Box2D Body frustum Culling?

Есть ли способ применять усечение усечения? И если да, то как :) Любые примеры кода? Есть ли другие способы улучшить скорость fps на bodys?

Спасибо за ваше время и внимание :)

+0

хорошо я не думаю, что замедление происходит из-за тела, потому что я был в состоянии для запуска одного из моих проектов со скоростью 60 кадров в секунду с более чем 3000 тел. Замедление может быть вызвано вашим рендерингом ??? Кроме того, вы упомянули, что вы одновременно «вычисляете и визуализируете»? Что это значит? пожалуйста, укажите код или уточните. – Fish

+0

То, что я не упомянул, это то, что я использую также огни box2d и лучевой манипулятор, тела также бросают свет :) – genaray

+0

200 кадров в секунду? Даже 60 должно быть достаточно ... – Sebastian

ответ

1

Я знаю, что этот вопрос немного устарел. Но, похоже, это первый хит, касающийся удаления усеченного конуса с помощью box2d и/или libgdx. И, как я создал учебник к тому, что я хотел бы разместить его здесь, может в будущем люди, нуждающиеся могут использовать его

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

+1

Ваше учебное пособие отлично! Спасибо за это :) – genaray

+0

Добро пожаловать. Я буду делать некоторые вещи в будущем, особенно для libGDX и box2D. Был бы рад, если вы вернетесь! (магнит эффект, радар ..) – Keey

0

Я думаю, что наибольшее влияние на производительность в значении параметра box2dlights (но убедитесь, что вы должны сделать некоторые профилирование). Box2dLights действительно имеет логику отбраковки, которая не идеальна, но делает некоторые основные вещи. Для повышения производительности box2dlights вы можете:

  • Снизить количество лучей
  • Сделайте RayHandler FBO меньшие
  • Установите несколько огней на X-Ray (не будет отбрасывать тени)
  • Снизить количество объектов (например, сливание небольших стеновых элементов или что-то еще)
Смежные вопросы