Добавил новый “краш тест”, на это раз проводим тестирование DynamicBSP - дерева. В демке используется 300 Box’сов и 2 двусторонние плоскости для увеличения количества разбиений. Так же демка динамическая, все объекты двигаются и крутятся.

Удалось решить проблему flash player’a при рисовании полигонов с разрывами при “LOW QUALITY”. Теперь, при любой детализации, и при рендеренге DynamicBSPRender фильтром, швы от распилов BSP - деревом почти исчезли. Динамическое дерево стало более стабильным, теперь нет хаотичного разбиения (проводится выборка оптимальных объектов в роли сплиттеров и система приоритетов объектов - уменьшают количество разбиений).
_______________________________________
Последнее обновление демки: 16.09.2009 (Оптимизирован и ускорен DynamicBSPRender фильтр)
круто, но большинство граней паралельны, и пересечений не так уж и много. вот бы приделать кнопку для рандомного индивидуального вращения кубов, чтобы прочуствовать разницу )
Вообще то много, но делаются они правильно, что бы незаметны были (рисуется на экран при видимости всей сцены до 5000 треугольников при динамическом дереве, без дерева до 2000):
Демка на версии 1.3 без выборки оптимальных объектов и без системы приоритетов
http://www.infinity3d-engine.com/example/dynamicBSP.html - разбиения хаотичны.
Демка на версии 1.4 с выборкой оптимальных объектов и с системой приоритетов
http://www.infinity3d-engine.com/example/dynamicBSP2.html - нет хаотичных разбиений и быстрее строится дерево.
Получил 24-32 FPS под Linux Firefox 3.0.13 и adobe-flashplugin 10.0.15.3
Обновите версию http://get.adobe.com/flashplayer
запостил фидбэк
makc3d, не совсем корректная демка на Alternativa3D.
В вашей демки нельзя двигаться видимо по оси Z, например, если можно было бы двигатся по оси Z (как в моей), то можно было бы создать ситуацию когда в пирамиду видимости попадает 10 кубов. При этой ситуации в Alternativa3D FPS не поднимутся, т.к. все дерево перестраивается, а вот у меня серьезно возрастут до 80-90FPS.
К сожалению не видно, есть ли там текстуры, если нет тогда совсем некорректная демка, т.к. используя FillMaterial в Infinity3D скорость возрастет на 20-30%.
К слову (ракурсы обзора одинаковые, вся сцена попадает в пирамиду видимости, у себя включаю отображение ребер полигонов):
1) Анимированная сцена: ваша демка на Alternativa3D 3-7FPS (30mb памяти), моя 27-33FPS(11mb памяти);
2) Статичная сцена: ваша демка на Alternativa3D 10-18FPS (30mb памяти), моя те же самые 27-33FPS(11mb памяти);
P.S. Скептикам просьба не писать ничего про мои результаты, пишите свои.
- там есть такая возможность (Z/Пробел)
- сравнение при 10 кубах бессмысленно, интересен именно случай, когда вся сцена в кадре
- разумеется, на кубах битмапные текстуры
Не совсем, у меня сейчас в разработке проект, так там на сцене находится 300000++ полигонов и сцена динамическая с динамическим BSP - деревом. Проект работает при среднем FPS 48 для разрешения 800х600 и 29FPS для 1280х1024. Так, что это очень важный параметр и возможность для оценки общей производительности.
>>К слову (ракурсы обзора одинаковые, вся сцена попадает в пирамиду видимости, у себя включаю отображение ребер полигонов)
При тех же самый условиях и браузере fireFox:
1) Рабочий комп.
Анимированная сцена:
Alternativa3D 4-9FPS 37mb памяти
Infinity3D 31-39FPS 10mb памяти
Статичная сцена:
Alternativa3D 11-19FPS 32mb памяти
Infinity3D 32-44FPS 10mb памяти
2) NetBook
Анимированная сцена:
Alternativa3D 0-2FPS 38mb памяти
Infinity3D 13-18FPS 10mb памяти
Статичная сцена:
Alternativa3D 0-2FPS 32mb памяти
Infinity3D 13-25FPS 10mb памяти
Попробую дома на мощном компе потом отпишусь.
Да ребят, Алексей прав, если уж сравнивать то надо идентичные примеры, иначе смысла нету… В любом случае альтернатива занимается непонятно чем… Если тут один человек сделал быстрее двиг чем целая команда. Алексей вы крут!
300000++ полигонов ))) ну с помощью PVS дерева количество полигоном будет ограничиваться лишь памятью компа )))
Собственно в краш тесте инетресует количество видимых треугольников, в случае бсп - их минимальное разрезание.
@best из моего короткого опыта общения с Волковым у меня создалось впечатление, что он товарищ весьма авторитарный, т.е. хорошие шансы, что все решения по движку он принимает единолично и, т.о., фактически разрабатывает его сам, остальные в лучшем случае фиксят баги
может, преувеличиваю, но мне так кажется.
Попробовал на мощном компе дома:
Анимированная сцена:
Alternativa3D 6-11FPS 37-43mb памяти
Infinity3D 39-44FPS 9-11mb памяти
Статичная сцена:
Alternativa3D 14-23FPS 37-41mb памяти
Infinity3D 41-48FPS 9-11mb памяти
Память Alternativa3D при динамике очень сильно отъедает (прямо мегабайтами за каждый кадр), сборщик мусора непрерывно чистит.
Заметил тенденцию, что чем мощнее компьютер, тем Infinity3D сильнее обгоняет Alternativa3D. Наверно у Infinity3D математика более быстрая. Очень интересно почему так?
Цитата Алексея: “В вашей демки нельзя двигаться видимо по оси Z, например, если можно было бы двигатся по оси Z (как в моей), то можно было бы создать ситуацию когда в пирамиду видимости попадает 10 кубов. При этой ситуации в Alternativa3D FPS не поднимутся, т.к. все дерево перестраивается, а вот у меня серьезно возрастут до 80-90FPS.”
Попробовал описанную ситуацию. Действительно так, как сказал Алексей, где-то 20 кубов в Alternativa3D показывают те же низкие FPS, а вот в Infinity3D FPS поднимаются до 90-100.
Общая производительность Infinity3D серьезно превосходит.
Посмотрел сегодня на список обновлений Alternativa3D 5.6, печально 10 месяцев прошло с последней версии, а по сути та же самая версия с исправлениями ошибок и добавлением смешного функционала.
P.S Спасибо Алексей, за ваш движок и за ваши систематические релизы действительно новых версий.
@Jumper,
А тем временем в перми кстати тоже не спят…
1 всё-таки в Alternativa3D фпс иногда поднимается, если камера попадает в “удачную” ветку дерева и на обход тратится меньше времени. не так ярко, как в Infinity3D, ибо механизм совсем другой - оттого и говорю, что в єтой ситуации просто нечего сравнивать.
2 ты как-то не заметил, что всё это время Alternativa3D трудилась сначала над 6й, затем над 7й версией, а теперь больше над танчиками, чем над движком. то, что 5.6 стал bugfix release, ни для кого не было сюрпризом.
@Алексей
3 Оо, не спим в 3 утра, модерируем комментарии
Нет, не комментарии.
.
Ага не сплю, работа кипит: делаю демку Sound3D и переношу все старые примеры и исходники на новую версию, а самое главное причесываю версию 1.4
Бывает.