Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Glscene скорость работы приложения


Страницы:   1 2

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 ,или более человечискими методами:)))))
А вот насчет расчетов, я конечно могу попдробнее но это сплошная небесная механика. Да и мне кажется что именно алгорит вичисления положений не удасца оптимезировать, так как я его уже больше года делаю, поэтому (ну хочится верить) все процедуры и функции "вылизана"
Вот короче, можно поподробнее про отсечение?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо