![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Glscene скорость работы приложения
qwe © (2005-04-05 16:18:00)Драсте!!! Тут назревает небольшая, проблемка помогите а?:)
Короче есть модель Солнчной системы: все планеты, звезды , спутники Земли(искусственные 3DS модельки) показывается орбиты спутников, ну и всякое такое, так вот на моей машине (128 идет отлично ) но если машина уже послабее начинаются естественно тормоза, хоть и не сильные, но мало приятные. Так вот вопрос, с чего нужно начинать оптимезацию, чего там урезать отрезать , или зарезать :))))))
P.S. да правда много времени занимает расчет положений планет , луны и спутника , но от этого ни куда не деться. Вот.!!!
VVV-First (2005-06-21 16:01:00) [1]ого го прилично , пасибо , дома подробнее посмотрю:)))))
VVV-First (2005-06-21 14:47:00) [2]Давайте все попросим Da Stranger:))))))))
DeadMeat (2005-06-21 13:04:00) [3]Неа..
Просто у хостера были проблемы.. А потом восстанавливали.. Это как я понимаю.. Неделю ниче не работало..
Вообщем так.
Я тебе вышлю что там у них есть, т.к. если я правильно понял, то на programist.ru у тебя не заходит..
А то, что делал я, я могу выслать только с разрешения уважаемого Da Stranger.., т.к. делал для них.
VVV-First (2005-06-21 12:50:00) [4]а что ветка с играми умерла?
VVV-First (2005-06-16 16:42:00) [5]мне :)))
ну вот ты гриш
> Я сам недавно над ним работал (www.spacefederation.tk, раздел
> Downloads - mySpace, если интересно)
так вот не могу зайти, может скиниш мне на почту свой космос посмотреть а?
DeadMeat (2005-06-16 16:08:00) [6]Аа..?? Чего??
А..?? Кто здесь??
;)
Я не совсем догнал.. Тебе чего скинуть?
VVV-First (2005-06-16 15:57:00) [7]
> DeadMeat ©
ты что совсем дорогу на форум забыл?:)
VVV-First (2005-06-13 17:38:00) [8]
> DeadMeat ©
слушай нашел тут это пост опять:)))
не могу зайти на
> www.spacefederation.tk
а мне бы посмотреть , как там и что , может скинеш на почту а?
malij_218@mail.ru
DeadMeat (2005-04-08 19:07:00) [9]Вы до сих пор над ним работаете?
Блин.. Каждый раз вспоминаю и сердце кровью обливается...
Мне так не удобно перед Вами.. Обещал ведь.. И не довел до конца..
Эхх..
---
...Death Is Only The Begining...
Da Stranger (2005-04-08 14:59:00) [10]qwe, если не сложно, покажи свой космос. Я сам недавно над ним работал (www.spacefederation.tk, раздел Downloads - mySpace, если интересно)
DeadMeat (2005-04-07 21:01:00) [11]Даа.. С этим programist.ru какие то странности часто..
Надо будет другой хостинг подыскать.
А то кто может скачать, а кто не может..
---
...Death Is Only The Begining...
qwe (2005-04-07 18:28:00) [12]О отлично пасибо про IsVolumeClipped я и незнал
malij (2005-04-07 18:08:00) [13]нашел про IsVolumeClipped, только вот блин, ты там чувачку давал сылочку , на какойто пример: www.deadmeat.programist.ru/visor.rar он у меня не качается,да и у меня вообще некачается ни один пример с этого сайт, странно. ну да ладно , я думаю я уже разберусь пасибо.
DeadMeat (2005-04-06 21:51:00) [14]Блин..
Очепятался..
Frust rum
---
...Death Is Only The Begining...
DeadMeat (2005-04-06 21:49:00) [15]
> вот только насчет GLSceneViewer у меня его вообще нет ,
> у меня FullScreen
А разница какая? Это почти тотже GLSceneViewer, просто на весь экран...
> а вот заменять - это просто перегружать фриформ или хде
> хранить в памяти?
Оптимальный с точки зрения скорости (но не памяти), это загрузить все три (близкое расстояние, среднее и дальнее) сразу и просто переключаться между ними через Visible.. Или через Render (...)
> а вот про Frustum я балбес чего-то вообще забыл:))))))
Самый просто способ - IsVolumeClipped. По форуму уже обсуждали. Глянь...
---
...Death Is Only The Begining...
qwe (2005-04-06 15:41:00) [16]DeadMeat пасибо , вот только насчет GLSceneViewer у меня его вообще нет , у меня FullScreen (сделал через data module)
а вот заменять - это просто перегружать фриформ или хде хранить в памяти?
а вот про Frustum я балбес чего-то вообще забыл:))))))
DeadMeat (2005-04-05 20:24:00) [17]А еще LOD можно добавить... Как раз для планет и спутников самое то..
Level Of Detail.. С растоянием заменять модели на менее полигональные...
Отсечение по Frustum-у... Это как бы само собой надо делать..
SkyBox я бы заменил на сферу или куб... С одной текстурой.. Развернутой...
GLSceneViewer -> Buffer -> ContextOptions -> NoColorBufferClear := false;
Т.к. у тебя есть обьект, который перекрывает всегда весь экран.. Рисуешь его первым и не надо будет очищать постоянно буфер...
Если результаты формул не меняются и находятся постоянно в одном и том же интервале (ну например X всегда равен, 1.. потом 2... потом 8 и т.п.. и потом повторяется), то можно их заранее просчитать и занести результаты в массив.. А потом брать уже готовые...
Если есть Lines.. То избавься от них.. Избавься от любых контуров в сцене.. Они рисуются не аппаратно, а за счет процессора. Замени их сплющенными полигонами или чем нить еще.. Текстурой тоже можно.
Уменьши детализацию сфер.. Ну тот же LOD.
Ну это первое, что на ум пришло.. Мож че забыл..
---
...Death Is Only The Begining...
qwe (2005-04-05 19:14:00) [18]:)))) ну ладно пасибо , поэксперементируем , а тут людей еще завтра поспращиваю
A22 (2005-04-05 19:04:00) [19]ввиду того, что у тебя космос, можно особо с отсечением не заморачиваться и не рисовать только далекие объекты. хотя, если спутников планируется много, тогда уже неплохо было бы проверять - не закрывает ли их планета от камеры, и, если закрывает, не рисовать
насчет visible = false и т.д. подсказать не могу. glscene не пользовался, но разницы нет никакой, 3d оно везде 3d. если в glscene "visible := false" для какого-то объекта отключит его от рендеринга - да, именно так и "отсекай" после проверки :)
а оптимизировать можно многое, но тут уж тебе по-любому виднее, ты же алгоритмы писал.
да, и еще. 20 тысяч полигонов - все равно много. пусть это дважды спутник трижды имени Ленина, можно-таки и сократить :) лучше модель на 100 полигонов, но с бампом и спекуляр светом, чем модель на 20тысяч, но без оных эффектов
qwe (2005-04-05 18:51:00) [20]так тут вкралась непоняточка, :))))) 20тыс полигонов это не для Земли (Все планеты это просто Шарики с текстурами), 20 тыс это спутник.
А вот про "нерисуй" что именно , Visible := false, bkb ,или более человечискими методами:)))))
А вот насчет расчетов, я конечно могу попдробнее но это сплошная небесная механика. Да и мне кажется что именно алгорит вичисления положений не удасца оптимезировать, так как я его уже больше года делаю, поэтому (ну хочится верить) все процедуры и функции "вылизана"
Вот короче, можно поподробнее про отсечение?