Текущий архив: 2005.02.20;
Скачать: CL | DM;
ВнизGLScene: тормоза на ровном месте Найти похожие ветки
← →
miek © (2004-11-03 18:11) [0]Только-только начинаю делать проект с большим числом полигонов, и уже в самом начале вижу невысокую, прямо скажем, проиводительность. В кадре одновременно не больше 500 полигонов (TGLPlane), а FPS всего 110. Причем создание сцены (все штатными средствами, через Proxy) длится секунды три! Кто-нибудь подскажет, отчего такие тормоза и как исправить? Уже применил отсечение по расстоянию и по пираимде видимости, помогло не сильно.
http://www.miek.narod.ru/energhost.zip
[25 KB]
← →
DeadMeat © (2004-11-03 19:51) [1]Эта... Там пусто...
А как применил? В смысле средствами GLScene или сам...?
---
...Death Is Only The Begining...
← →
miek © (2004-11-03 22:04) [2]Сам, по координатам.
В архиве все нормально, вот только что закачал.
← →
DeadMeat © (2004-11-03 23:54) [3]Нее... Я имею ввиду, что самого архива нема. Там тока 404.... Может регистр букв забыл? Сама страница есть, а вот архива нЭту...
---
...Death Is Only The Begining...
← →
miek © (2004-11-04 07:51) [4]Опечатка была, oops!
← →
Sapersky (2004-11-04 13:23) [5]3D-ускорители, особенно с HW T&L, рассчитаны на вывод большого количества полигонов за раз (порядка сотен-тысяч). То есть нарисовать 500 отдельных полигонов (тем более устанавливая для каждого свою матрицу - если Proxy задаёт положение объекта, то именно это и происходит) - ГОРАЗДО медленнее, чем скинуть те же полигоны в один буфер (в данном случае объект GLScene - FreeForm или как его?), заранее просчитав трансформации и вывести всё за один присест.
Если геометрия статическая, т.е. изменять положение объектов не надо, или это делается вершинным шейдером :) - буфер заранее запихивается в видеопамять, дабы не гонять его по шине каждый кадр; вот тогда будет максимальная скорость.
Хотя, насколько я слышал, для того, чтобы получить это на OpenGL - нужно использовать дополнительные расширения (GL_ARB_vertex_buffer_object или что-то такое). Судя исходникам GLScene - у автора до этого ещё не дошли руки, используются только обычные дисплейные списки, если я правильно понял...
Но даже без спецрасширений вывалить кучу полигонов в ускоритель должно быть быстрее, чем капать по одному.
← →
miek © (2004-11-04 18:06) [6]Я это так себе и преставлял, но не думал, что тормоза начнутся уже на первой тысяче. Ведь когда я создаю TerrarinRenderer с числом полигонов раз в 10 большим, скорость не сильно изменяется.
В сегодняшних экспериментах выяснил, что разбиение одного контейнера на два может значительно улучшить дело. Может, все из-за банального кэша 2-го уровня?
← →
DeadMeat © (2004-11-05 17:56) [7]Ну а все таки ссылка какая? Просто интересно...
---
...Death Is Only The Begining...
← →
miek © (2004-11-05 18:09) [8]Та же, что в начале:
http://www.miek.narod.ru/energhost.zip
Страницы: 1 вся ветка
Текущий архив: 2005.02.20;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.033 c