2013-05-21 2 views
0

Я играю с Box2Dweb и холстом HTML5 и испытываю нечетное поведение. У меня есть одно динамическое тело и одно статическое тело, в мире. Я могу управлять динамической клавиатурой.Столкновение Box2D вызывает огромное падение FPS

Но как только эти два сталкиваются, я опускаюсь от 60 кадров в секунду до 17, и я больше не могу двигать динамическое тело (из-за отставания, он медведь движется).

меня попробовать профилирование его с помощью Firebug, и вы можете видеть результат здесь: http://i.imgur.com/sNE6OXg.png

Как вы можете видеть, это почти просто Box2D занимают время здесь; мои собственные функции рендеринга/очистки/обработки даже не указаны до 0,1% в таблице.

Если вы хотите использовать какой-либо образец кода, скажите мне! Я нашел других людей с той же проблемой here и here, но ответа у них не получилось. Поэтому я даю ему еще одну попытку!

+0

Вы используете некоторый обработчик столкновений? – Cherniv

+0

Да, я создаю ContactListener. Тем не менее, я пробовал комментировать это, но это не имеет никакого отношения. – Eric

ответ

0

Я нашел проблему! Это связано с PPM (Pixels Per Meter).

Оказалось, что я устанавливаю его довольно низко (32), и когда я увеличил его до 192, все снова гладко! Слава Богу. Надеюсь, что это может помочь другим людям!

+0

У вас есть идея, почему PPM приведет к низкому FPS? –

+0

На самом деле нет. Я предполагаю, что это связано с размером вашего игрового мира. Наличие очень низкого PPM означает, что вы можете поместить «больше пикселей» в свой мир. То есть, имитировать большее количество данных. – Eric

Смежные вопросы