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

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

Поговорим о оптимизации GLScene. [Delphi, GLScene, Windows]


Страницы:   1 2 3 4 5 6

Conferno ©   (2005-07-26 16:37:00) 

Привет мастерам и игроделам на GLScene!
В данной ветке давайте будем обсуждать оптимизацию GLScene.
Товарищи, кто делал игры на этом движке, расскажите о оптимизациях:
1. Как правельно пользоваться TGLPortal?
2. Какую текстурную фильтрацию лучше использовать Анизотропную или Изотропную...
3. Почему туман не повышает ФПС...
4. Виды Cull'ингов - какие лучше и как правельно пользоваться,
как отрезать невидимые обьекты, находящиеся, например, за стеной...
5. Динамичные тени и Lightmap'ы - как правельно с ними работать...
6. Можно ли модель в 3DMax экспортировать в 3ds, при этом, чтоб он не урезал имена используемых текстур?
Или где можно достать доки или примеры...
Обо всем здесь :)

Также можно задавать свои вопросы... :)


Fosgen   (2005-08-21 20:14:00) [41]

Что интересно - мне никаких таких манипуляций с файлом GLScene.pasделать не приходилось. Просто устанавливал старую сборку под свежепоставленную Дельфи. Не здесь ли собака порылась?
Что интересно, код примеров что из старой версии, что из новой - одинаков. А вод результирующий exe-шник получается 618 Кб (и для megaglasscube и для megacube) из под старой и 515 Кб (и для megaglasscube и для megacube) из под новой. С настройками драйвера на максимум качества производительность прыгает до 830 fps и обратно до 1150 fps.
Постараюсь выложить exe-шники на сайт adm.trening-omsk.ru. Архивированные они по 226 Кб получились. На том же сайте как раз и архив скриншотов того что делаю. Правда не из последней версии - может и его обновлю. Выложу все где-то в ближайшие пару дней.


Санёк   (2005-08-21 18:10:00) [42]


> Fosgen   (21.08.05 07:25) [63]

может все же ужмешь свою супер демку (исполняемый файл, выдающий заоблачные результаты) и выложишь его куда-нить?
интересно, сколько будет у меня и у других ФПС.


Санёк   (2005-08-21 18:01:00) [43]

ну что ж, еще раз приводить результаты уже нецелесообразно - на старой версии GLScene v09b фпс 191 при выгруженной дельфи - разница всего в 20 попугаев, а не в несколько раз.
надо бы с настройками драйвера похимичить....


DeadMeat   (2005-08-21 13:03:00) [44]

Теперь поясню я...
Я скачал старую версию GLScene.. ту которая еще долго лежала на сайте и всех смущала тем, что нет прогресса в его развитии.. Ту самую v09b. Я с нее начинал. Думаю что старее версию использовать не стоит.
Тестирование (последнее) я проводил на ОДНОМ компе. На своем.
Процесс проходил следующим образом.
Бралась демка MegaCube из последней сборки (сборка в моем понятии - это обновление с CVS). Выставлялся AMALGAMATE:=FALSE у даммикуба, т.к. это свойство было добавлено потом.. Оно прибавляет немного попугаев в некоторых случаях.. Когда все чилдрены не подвижны и не меняются. Создает единый БилдЛист и уже работает с ним.. В данном случае прибавляет от 20 до 40 попугаев. В остальном пример одинаков.
Далее...
Берется последняя сборка и устанавливается в мою делфи. Версию я указал выше ( Delphi 6 Enterprise, Build 6.240, Update Pack 2).
Ничего не меняя открываю проект с демкой.. компилирую. Выгружаю делфи, миранду, файер, плеер, почтовик.. короче почти все выгружаю.. Запускаю проект фиксирую.. 196 фпс.
Потом...
Берется рання сборка (v09b) и устанавливается. Меняется строка
        if not GL_VERSION_1_1 then
           raise EOpenGLError.Create(glsWrongVersion);

в файле GLScene.pas, чтобы не выдавалась ошибка про версию OGL.
Компилируется проект (с учетом изменений названий классов и типов.. убирается префикс GL). Опять же выгружается все что можно и запускается.. Замеряем.. 186 фпс.
Вывод: на одной и той же конфигурации (а точнее на одном и том же компе) разница в попугаях между старой и новой версией GLScene равно 10 (примерно).. Не в пользу старой версии. Однако я не думаю что 10 это существенно.. Но все же.
Все настройки в драйвере видео карты у меня стоят на максимум качества графики.
Конфигурация описана выше.

---
...Death Is Only The Begining...


Fosgen   (2005-08-21 07:25:00) [45]

2: DeadMeat - Не понял смысла тестирования:

0. FPS: 186
1. Delphi 6 Enterprise, Build 6.240, Update Pack 2
2. Последняя сборка на релизе компилилось или как?
3. AMD64 3000+
4. 1024 Mb
5. ASUS ATi Radeon 9550
6. Omega 2.6.53 на базе Catalyst 5.7
7. WinXP_SP2 Prof

Другими словами, на старой сборке но в том же примере ФПС ниже
- это как прикрутить к заявленной конфигурации?
Поясните плиз...
На всякий случай еще раз поясняю: У меня две машины. На обоих стоит одна и та же Дельфя, одна и та же windows, только сервис-паки разные. На более слабой стоит старая версия GLScene, от 2002 года. Судя по комплектности пакета - предполагаю что релиз. Без CVS, без Перлиновских наворотов, ODE и половины имеющихся в последних snapshot'ах эффектов. На второй машине (более мощной) стоит предпоследний snapshot. Для получения "заоблачных" результатов я компилирую примеры (которые совместимы по представленным классам) на машине со старой версией GLScene, затем копирую полученный exe-шник на более мощную машину и там запускаю. Если компилировать тот же пример на более мощной машине под предпоследним snapshot'ом то результаты оказываются в 4-6 раз ниже - т.е. привычные для всех Вас цифры. Но я-то привык к производительности старой версии! И мне не понятно, почему новая версия GLScene БЕЗ использования ее новых наворотов за красивые глаза жрет столько производительности! И мне дюже интересно - как это исправить?
Насчет выложить мою старую сборку GLScene - я бы и рад, но не реально мне через модем залить на сайт 3 мегабайта (точнее самораспаковывающийся архив glscene.exe размером 3 046 190). Мне и 200К то проблема залить...
Похоже с такой старой версией (ни одного файла позже 2002 года) кроме меня никто не сталкивался - поэтому никто не знает разницы между тем как GLScene работает и как ДОЛЖНА работать. Разработчики ударились в количество поддерживаемых эффектов в ущерб производительности. Вот вам и тема по оптимизации GLScene...


Санёк   (2005-08-20 19:36:00) [46]

0. 251
1. Delphi 6 Etnerprise Update Pack 2 выгружена
2. качал вот отсюда http://www.delphimaster.ru/cgi-bin/forum.pl?id=1123469820&n=9
3. Pentium-M Dothan 2MB L2, 1600 MHz.
4. 512 Mb RAM.
5. ATI Radeon Mobility 9700 Pro 128 Mb RAM.
6. Catalyst 5.6 модифицированные при помощи DHModTool.
7. Windows XP Professional SP2.


Санёк   (2005-08-20 19:08:00) [47]

хм....

конфа вот:

0. 254
1. Delphi 6 Etnerprise Update Pack 2 выгружена
2. GLScene_SnapShot_150305.7z
3. Pentium-M Dothan 2MB L2, 1600 MHz.
4. 512 Mb RAM.
5. ATI Radeon Mobility 9700 Pro 128 Mb RAM.
6. Catalyst 5.6 модифицированные при помощи DHModTool.
7. Windows XP Professional SP2.

запускал по ссылке

> http://www.webfile.ru/469883

щас старую версию поставлю - посмотрим чего и как.


> DeadMeat ©   (20.08.05 16:04) [58]

что конкретно нужно менять, чтобы не было ошибки с OpenGL1.1?


Домовенок   (2005-08-20 16:45:00) [48]

По новой демке от DeadMeat получил такие результаты:

0. 196 fps
1. Delphi 7 Enterprise, Build 4.453;
2. SnapShot от 06.08.2005;
3. AMD Athlon64 3000+ ~2000 mhz;
4. 512 mb;
5. ATI Radeon 9800, 128 mb, 8x;
6. Omega 2.6.53 (Catalyst 5.7);
7. WinXP SP2 Prof.

Химичить с переустановкой Delphi и GLScene было как-то лениво, судя по предыдущим результатам это все напрасно. Просто у Fosgen какая то необъяснимая загадка. :)


DeadMeat   (2005-08-20 16:16:00) [49]

Так... с ФПСом немного приврал в первом случае.. Под новой сборкой.. надо выключить AMALGAMATE у DummyCube.
Тогда тест будет одинаков точно.. А то этой фичи не было в старой версии.. а она добавляет немного ФПСов в некоторых случаях.
Так вот в первом случае ФПС не 203 а гдето 196.

---
...Death Is Only The Begining...


DeadMeat   (2005-08-20 16:04:00) [50]

Скачал GLScene_v09b_Full.zipоттуда..
Поставил..
Открыл пример.. который выложил вам.. т.е. один и тотже что там что там..
Пришлось откорректировать правда GLScene.pas, чтобы ошибку не выдавал на OpenGL 1.1
Так вот:

0. FPS: 186
1. Delphi 6 Enterprise, Build 6.240, Update Pack 2
2. Последняя сборка
3. AMD64 3000+
4. 1024 Mb
5. ASUS ATi Radeon 9550
6. Omega 2.6.53 на базе Catalyst 5.7
7. WinXP_SP2 Prof

Другими словами, на старой сборке но в том же примере ФПС ниже... примерно на 20 попугаев..
Естественно условия были одинаковыми. Было выгружено все, что только можно.. вплоть до файерволла и сервисов некоторых.

---
...Death Is Only The Begining...


Fosgen   (2005-08-20 15:05:00) [51]

2: Санёк - при увеличении размера (точнее параметра cSize) до 10 и
если компилировать на первой конфигурации с предпоследним SnapShot результаты следующие:

0: FPS - 34,63
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - предпоследний SnapShot.
3: P-4 3000MHz j530 1Mb L2
4: 1024 Mb
5: GF 6800 GT PCI-Exp 256 Mb
6: nVidia 6.14.10.6697 (шли с видеокартой)
7: Win2000 Prof SP4 build 2195


Fosgen   (2005-08-20 15:02:00) [52]

Значит результаты демки megacube:

Конфигурация прогона:
0: FPS - 1150,4 (!!!!!)
1: Delphi 5.0 Enterprise build 5.62-была выгружена
2: GlScene предпоследний SnapShot - разумеется тоже выгружена.
3: P-4 3000MHz j530 1Mb L2
4: 1024 Mb
5: GF 6800 GT PCI-Exp 256 Mb
6: nVidia 6.14.10.6697 (шли с видеокартой)
7: Win2000 Prof SP4 build 2195

компилилось на:

0: FPS - 60,89
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - та самая старая версия, о которой я столько говорю - Release от 2002 года
3: Celeron 1100MHz
4: 512 Mb
5: Radeon 9550 128Mb
6: ATI Technologies Inc. 6.14.10.6497 (шли с видеокартой)
7: Win2000 Prof SP3 build 2195

Если компилировать на первой конфигурации с предпоследним SnapShot:

0: FPS - 414,33
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - предпоследний SnapShot.
3: P-4 3000MHz j530 1Mb L2
4: 1024 Mb
5: GF 6800 GT PCI-Exp 256 Mb
6: nVidia 6.14.10.6697 (шли с видеокартой)
7: Win2000 Prof SP4 build 2195

Санёк - при увеличении размера (точнее параметра cSize) до 10 результаты следующие:

Конфигурация прогона:
0: FPS - 73,44
1: Delphi 5.0 Enterprise build 5.62-была выгружена
2: GlScene предпоследний SnapShot - разумеется тоже выгружена.
3: P-4 3000MHz j530 1Mb L2
4: 1024 Mb
5: GF 6800 GT PCI-Exp 256 Mb
6: nVidia 6.14.10.6697 (шли с видеокартой)
7: Win2000 Prof SP4 build 2195

компилилось на:

0: FPS - 7,17
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - Release от 2002 года
3: Celeron 1100MHz
4: 512 Mb
5: Radeon 9550 128Mb
6: ATI Technologies Inc. 6.14.10.6497 (шли с видеокартой)
7: Win2000 Prof SP3 build 2195


Fosgen   (2005-08-20 14:51:00) [53]

Старую сборку можно вытянуть с http://sourceforge.net/project/showfiles.php?group_id=29749- там лежит как релиз от 2002-09-09 17:00 версия 0.9b_full.


DeadMeat   (2005-08-20 13:32:00) [54]

Хмм... Интересно.
А не могли бы вы протестить это http://www.webfile.ru/469883на старой и на новой сборках? Просто есть подозрения на изменения самой тестовой программы или же алгоритмов сортировки прозрачных объектов. В этом примере не используется вообще ничего. Только простые кубики и все. Никаких сортировок.
У меня дает:


0. FPS: 203
1. Delphi 6 Enterprise, Build 6.240, Update Pack 2
2. Последняя сборка
3. AMD64 3000+
4. 1024 Mb
5. ASUS ATi Radeon 9550
6. Omega 2.6.53 на базе Catalyst 5.7
7. WinXP_SP2 Prof


И если не сложно, то выложите вашу старую сборку... А то я свои постирал.
Я же выкладываю еще раз (на всякий случай) новую последнюю сборку.. Просто не помню, мож чего там менялось последнее время.
http://www.webfile.ru/469890

---
...Death Is Only The Begining...


Fosgen   (2005-08-20 11:08:00) [55]

Приветствую. В ступор не впадал - уезжал на Алтай, там даже электричества нет, не то что и-нета...

Значит так - по поводу "заоблачных" результатов - надеюсь понятно что компилировалась демка под релизом GLScene где-то от 2002 года? Где я брал тот релиз - не помню, помню что по ссылке, которую в необозримом прошлом выкладывал DeadMeat. Прогон получившегося exe-шника осуществлялся на машине, где стоит предпоследний SnapShot (опять же по ссылке от DeadMeat), и разумеется при запуске демки и Delphi и GLScene были выгружены.

Получается что старый релиз создает более (мягко говоря) оптимизированный исполнимый код. Возникает вопрос - что же стало так "кушать" производительность в последних SnapShot'ах GLScene?

В конфигурации прогона с результатом в 184 fps - и компилировалась и выполнялась демка на одной и той же машине с предпоследним SnapShot'ом GLScene.
В конфигурации прогона с результатом в 741 fps, компилировалась на машине с релизом GLScene от 2002 года, а исполнялась на предыдущей описанной конфигурации (только exe-шник).
Надеюсь сейчас понятно описал.


Домовенок   (2005-08-20 02:46:00) [56]

> И вообще мне не нравятся тени(GLShadowVolume) - есть коробка
> около стены, у нее тень - она проходит сквозь стену. Ну это я ?
> так... :)... ниче не поделаешь...


Немного не понял в чем именно проблема у тебя, но сдается мне что, ты просто что-то не так настроил в параметрах ShadoVolume...


ConferNo   (2005-08-19 02:17:00) [57]

Ну вот и я! Наконец-то...
Вобщем, протестил megaglasscube и вот что получилось:

FPS: 117
Дельфи: Borland Delphi 7
Процессор: Intel Pentium 4, 2.8 Ghz
ОЗУ: 512 метров.
Видео: Gigabyte ATi Radeon 9200, 128mb
Дрова: ATi Catalyst 5.6
Версия GLScene: брал по ссылке Deadmeat'a
Windows: WindowsXP Prof + Service Pack 2

И вообще мне не нравятся тени(GLShadowVolume) - есть коробка около стены, у нее тень - она проходит сквозь стену. Ну это я так... :)... ниче не поделаешь...


наклззз   (2005-08-17 02:45:00) [58]

0.80
1.Delphi 6 enterprise
2.Glscene snapshot 150305
3.AthlonXP2000+
4.196 mb ram
5.nvidia geforce 3 ti 200
6.detonator xp какой-то там, месяца 2 вроде
7.windows xp sr2


Домовенок   (2005-08-14 14:13:00) [59]

Похоже, что теперь Fosgenвпал в ступор. А так хотелось узнать, как же он так сделал, что добился таких результатов.


Xeno   (2005-08-12 10:32:00) [60]

омега, это всёго-лишь стандартный драйвер у которого изменены некоторые настройки для улучшения производительности + добавленны некоторые утилиты,это усё можно по вкусу и ручками делать...


Страницы:   1 2 3 4 5 6

Наверх

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