Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

Поговорим о оптимизации GLScene.   Найти похожие ветки 

 
Conferno   (2005-07-26 16:37) [0]

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

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


 
A22 ©   (2005-07-26 16:39) [1]

положено начало ветке на много сотен постов...

2. где можно - линейную
3. А почему туман должен повышать ФПС?:)


 
XProger ©   (2005-07-26 18:24) [2]

http://algolist.manual.ru
Дабы убить глупые вопросы - изучай алгоритмы!


 
4ECHOK ©   (2005-07-26 22:52) [3]

По-моему, было высказано конкретное предложение и вопросы. И вопросы это далеко не глупые, мистер ИксПрогер. И на Алголост может послать каждый. Допустим вопросы №1,6 : вряд ли на них есть ответы на Алголисте.
Мне кажется, Conferno интересуется практикой применения алгоритмов на конкретном движке, а не самими алгоритмами.

Завтра может свои вопросы дам на обсуждение.


 
.Xeno   (2005-07-27 06:16) [4]

3. "Почему туман не повышает ФПС" - туман не повышает фпс потому что объекты скрываемые им всё равно отрисовываются + ещё тратятся ресурсы цпу на отрисовку самого тумана, а граница отрисовки устанавливается в TGLSceneViewer параметром FieldOfView (если память не изменяет) и кажись ещё в камере параметром DepthOfView(граница видимости).

4."как отрезать невидимые обьекты" - один из вариантов использовать TfrmQuadtreeVisCulling (демка quadtreevisculling),работает очень неплохо ,есть правда некоторые ньюансы использования этого метода...

6. Можно, есть такая опция в настройках макса, но на вскидку не помню...

5.Честно говоря не совсем понятно что тебя интересует, т.к. в примерах к GLSCene всё и так понятно.


 
Санёк   (2005-07-27 15:00) [5]


> 6. Можно ли модель в 3DMax экспортировать в 3ds, при этом,
> чтоб он не урезал имена используемых текстур?

что значит урезал?
каким образом?
с материалами все достаточно просто - рисуешь, натягиваешь на модель, при экспорте в 3ds указываешь "Preserve bla bla bla".
в фриформе указываешь библиотеку материалов. в самой библиотеке, кажется в path to materials прописываешь путь и вперед!


 
DeadMeat ©   (2005-07-27 16:14) [6]

Он урезает до формата 8.3 имена текстур, насколько мне известно... Тока вот к GLScene это (как мне кажется) не имеет отношения.

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


 
Conferno   (2005-07-28 01:49) [7]


> .Xeno   (27.07.05 06:16) [4]
> 3. "Почему туман не повышает ФПС" - туман не повышает фпс
> потому что объекты скрываемые им всё равно отрисовываются
> + ещё тратятся ресурсы цпу на отрисовку самого тумана, а
> граница отрисовки устанавливается в TGLSceneViewer параметром
> FieldOfView (если память не изменяет) и кажись ещё в камере
> параметром DepthOfView(граница видимости).

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

> 5.Честно говоря не совсем понятно что тебя интересует, т.к.
> в примерах к GLSCene всё и так понятно.

Примера для работы с лайтмапами нет... Ну все же, кто уж работал с лайтмапами, не соизволит ли рассказать о подвиге... :)


 
Xeno ©   (2005-07-28 05:51) [8]

>Ну обычно туман и для того и создан, чтоб урезать пространство,
>которое как раз невидимо...
Скорее тогда правильно сказать не урезать а сглаживать вид урезанного пространства :)


 
Dgt   (2005-07-28 19:46) [9]


> ... Ну все же, кто уж работал с лайтмапами, не соизволит
> ли рассказать о подвиге... :)

Если тебе нужен статичный лайтмап , то юзай 3dsmax Render to texture, все очень удобно и красиво....
Да кстати , мне так никто нормально не ответил на вопрос,который я задавал раньше:

у меня есть 3 координаты полигона , его текстурн координаты(они в 0..1) , есть координаты точки(точка внутри
полигона)--- как найти текст. коорд этой точки plz..


 
Fosgen   (2005-07-28 22:39) [10]

Господа, может мне кто пояснит - под старой (некто из присутствующих даже называл ее - древней) версией GLScene программа дает 170-180 fps, под новой версией (с наворотами в виде ODE, LensFX и т.д.) БЕЗ использования всех этих наворотов, сначала - просто отказывалась работать, в 1 из 10 случаев - работала с 1-2 fps (!) после замены нового "продвинутого" GLCollisions.dcu старым - стала стабильно работать, но дает всего лишь неустойчивые 20-50 fps!!!! Что происходит, господа? Почему новый код - значительно хуже старого? При таких раскладах - о какой оптимизации идет речь, если новые версии так просаживают все что было вылизано? Если я ошибаюсь - подскажите мне - в чем же разница между старыми версиями и новыми и почему эта разница не в пользу новых?


 
Conferno   (2005-07-29 03:15) [11]

Да я создал 3ds модель(типа уровень), га которой около 6 текстур (512х512) так у меня fps 40, если вкл. волюмы, то вообще (!!!) 10Fps, Чёза?


 
Xeno ©   (2005-07-29 05:51) [12]

Думаю тут возможно проблема с драйвера для видеокарт,для примера - GLScene c последними дровами для ATI вообще работать отказывается,а с некоторыми версиями замечал разную производительность,с NVIDIA меньше тестировал,но тоже есть дефекты особенно с тенями.Возможен ещё вариант когда на старую видеокарту GF2 например ставять последнии драйвера - не редко это значительно снижает производительность...Заметил ещё глюк со снижением производительности при создании или вставке при копировании объектов GLSCene в режиме редактирования в среде IDE, с чем это связанно так и не понял,но при этом бывает производительность может падать в два-три раза,данный дефект может чаще проявиться если создавать большое кол-во объектов,единственный выход который я нашёл это создавать большую часть объектов в run-time...


 
DeadMeat ©   (2005-07-29 08:34) [13]

Лично я пользуюсь драйверами OMEGA и проблем не испытываю..
Хотя вот разве что тени на моей MX440 моросят.. И то как то странно.. Пример работает нормально, а с нуля моросит..
На RADEON 9000 такого не было..


 
Xeno ©   (2005-07-29 09:01) [14]

>DeadMeat
угу, с mx440 и с gf2 есть такой дефект,a с fx5200 и выше без включенного стенсил буфера вообще не всегда отображаются :(


 
Fosgen   (2005-07-29 10:16) [15]

Дрова тут точно не при чем. ВСЕ объекты создаются run-time. Видеокарта - GF 6800 GT 256 Мб. Теней нет. Два источника света. В сцене в среднем менее 40 объектов. Около 10 000 полигонов. С винта ничего не грузится - все распределено в памяти и дергается оттуда.
Почему драйвера - не при чем? Пример:
  Берется одна и та же машина, ставится Delphi 5.0 с GLScene (коррекция файлов от 04/09/03), прога дает 150-170 fps,
Далее - сносим Delphi, переставляем (для чистоты эксперимента), ставим GLScene (коррекция файлов от 04/12/04), заменяем GLCollision.pas на старый (с новым - ваще не работает или дает 1-2 fps), компилим ТУ ЖЕ САМУЮ прогу - имеем 20-30 fps... Бред...


 
Xeno ©   (2005-07-29 11:01) [16]

Fosgen я тебе верю,просто хотел поделиться глюками связанными с последним снимком :)) Кстати, насчёт дров ты-бы не торопился с выводами,я тоже с чистых систем проверял и причём на разных машинах,благо имею такую возможность на работе,через меня их в месяц в среднем по 30-70 штук - разных конфигураций проходит,по работе так и сяк их тестить приходиться, так что это не пустые слова были...


 
Conferno   (2005-07-30 18:31) [17]

Я опять же про тени - тестил редактор у моего друга(GeForce6600 TD) - теней нет. Менять стенсил буфер не пробовал. У меня у самого ATi Radeon 9200 -тени есть, но глючат(отдельная ветка была). У друга GeForce4MX - прога толи виснет, толи 0,01 фпс показывает.

> Conferno   (29.07.05 03:15) [11]
> Да я создал 3ds модель(типа уровень), га которой около 6
> текстур (512х512) так у меня fps 40, если вкл. волюмы, то
> вообще (!!!) 10Fps, Чёза?

Пардон, ошибся слегка. Вот как: загружаю 3ds модель с текстурами, дает 120фпс(сцена без обьектов-450-500фпс), если добавить эту модель в occluders волюма, то показывает 30 фпс(тени сами по себе выключены). Если включить - 10фпс.

> Dgt   (28.07.05 19:46) [9]
>
> > ... Ну все же, кто уж работал с лайтмапами, не соизволит
>
> > ли рассказать о подвиге... :)
>
> Если тебе нужен статичный лайтмап , то юзай 3dsmax Render
> to texture, все очень удобно и красиво....

Я пробовал - в максе все круто(и для лайтмапа и для текстур -координаты соблюдаются), а в GLScence координаты текстур соблюдаются, а координаты лайт мапа - нет. Чеза?

И да, народ, я ложусь в больницу в понедельник на 10 дней, так что ПЛИз не забрасывайте тему !!! :)


 
FRick ©   (2005-08-01 17:42) [18]

Когда смотриш на текстуры под некоторым углом, она искажается!
Можно ли как нибуть избавится от етого искожения???
Зарание спасибо!


 
Fosgen   (2005-08-04 09:12) [19]

Есть предложение - соберем статистику собственных наблюдений по оптимизированности и устойчивости работы GLScene, ориентируясь на дату последней коррекции разработчиками файла GLScene.pas?
Это поможет сразу определять ошибки свойственные конкретной версии и не тратить время на хождение вокруг да около...

Итак:

GLScene (коррекция файла от 04/09/03) - как вы все понимаете старая версия, но похоже одна из "быстрых" и устойчиво работающих на текущий момент. Конкретных проблем устойчивости не обнаружено.(+++) Не совместима с последующими версиями по наименованиям классов.(--)

GLScene (коррекция файла от 04/12/04) - версия дополненная ODE, GLLensFX, Clothyfy, GLGUILayout,GLScenePFX,GLSceneShaders и т.д.(++) Это конечно очень приятно. По сравнению с вышеописанной "просаживает" производительность в 2-3 раза (без использования новых наворотов), при переносе проги со старой версии - не заработал отлаженный модуль столкновений (хотя примеры вроде пашут), перестала обрабатывать нажатие мыши на TGLHUDSprite (?)(---).

Пишите свои впечатления об этих и других версиях, о переносе программ с версии на версию - с чем столкнулись - что пришлось переделывать. Думаю так сможем определить саму работоспособную версию на текущий момент.


 
DeadMeat ©   (2005-08-04 09:46) [20]

ИМХО не корректно смотреть дату только по этому файлу.. Ведь исправлению подвержены и другие файлы без участия этого..
Сравнение на производительность лучше проводить какой нить нагруженной стандартной и простой сценой.. Можно даже взять примеры из папки bench
По результатам этих прог уже судить о производительности.. Или ченить свое..


 
DeadMeat ©   (2005-08-04 09:47) [21]

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


 
Домовенок ©   (2005-08-04 13:34) [22]

DeadMeat (04.08.05 09:47) [21]

Любопытно, и на каких версиях Delphi ФПС выше? На более низких или на более высоких?


 
DeadMeat ©   (2005-08-04 15:05) [23]

Там хез...
Но я точно знаю, что у одного я брал демку, которую он слепил на 5ой делфе и с каким то настройками компилятора.. Она выдавала около 1200 ФПС.
Ее же я копилирую у себя.. На 6ой.. и все настройки по дефолту.. После этого выдает 700-800 фпс (точно не помню).
Вот и хез теперь.
И такое не один раз было...


 
Домовенок ©   (2005-08-05 01:12) [24]

DeadMeat (04.08.05 15:05) [23]

А как же конфигурация компьютера? Или ты приносил скомпилированную демку на твоей Delphi к нему на тестирование?


 
Zer0 ©   (2005-08-05 01:20) [25]

ну если врубить все опцыи дебага в том числе Range checking и Overflow cheking то ессно код будет перегружен лишними проверками и скорость его работы заметно снизится


 
DeadMeat ©   (2005-08-05 08:21) [26]

Обе версии я запускал у себя
Одну он компилил сам..
Другую я..
Вроде бы я отключал то, что отключил он, но один фиг не помогло...


 
Fosgen   (2005-08-05 09:27) [27]

Хорошо - если нельзя ориентироваться на дату коррекции этого файла - где в GLScene"вских файлах посмотреть ее версию? Или таковое невозможно в принципе?
Насчет версий Delphi и вообще - сижу на 5.0, настройки по умолчанию. Вообще, имея конфигурацию машины: GF6800GT, P3000,1Gb RAM - я ни разу не видел в GLScene таких показателей как 700-800 fps! Производительность любой сцены из примеров укладывается в 400 fps. Что конечно несколько удивляет. А ведь у меня мягко говоря не слабая конфигурация...
Так каким образом достигаются таковые результаты?


 
DeadMeat ©   (2005-08-05 10:14) [28]

Ничего не меняя в делфе (6ая) и имея ATI RADEON 9000 на AMD 1700+ XP при 512 RAM получаю 700-800 ФПС на пустой или не очень сильно наполненной сцене... Кубиков 10 там.. текстурки.. и т.п..
Может быть дело в драйвере.. Я настраиваю всегда на максимальную производительность у себя и ставлю ТОЛЬКО Omega Drivers.
Из примеров уже не помню чего получалось.. Щас просто уже конфигурация другая..

Та прога что я тестил, создавала BLUR (TGLBLur).. и вот она на той конфигурации выдавала мне 1000-1200 фпс.. Перекомпилил этот пример и получил вон мои 700-800...


 
Xeno ©   (2005-08-08 07:24) [29]

может кинете этот исходник и пускай народ покомпилит в своё удовольствие кто с какой версией сможет :-)


 
Fosgen   (2005-08-08 19:43) [30]

Это было бы неплохо. Особенно если поможет разобраться - что же в новой версии так сжирает производительность...


 
DeadMeat ©   (2005-08-08 22:36) [31]

Исходник чего?
Той проги?
Так это простая прога, которая показывает TGLBlur... В ней ничего нету отличительного..

Дело было именно в делфи.

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


 
Санёк   (2005-08-09 00:52) [32]

Уважаемые, давайте тестировать по такой схеме:
открываем дельфи.
загружаем проект \Demos\bench\megaglasscube
Ctrl+F9;
идем в папку с проектом.
запускаем откомпилированный проект.
смотрим на фпс несколько минут.
постим сюда в следующем формате:

0. Кол-во фпс.
1. Версия дельфи.
2. Версия GLScene.
3. Процессор.
4. Колчество оперативки.
5. Видеокарточка.
6. Версия дров для видюхи.
7. Версия винды.

ну а далее будем разбираться по существу - у кого какие настройки и кто как с бубном пляшет.
для начала нужна статистика.
моя конфигурация такая:

0. 172
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.


 
Домовенок ©   (2005-08-09 02:10) [33]

0. 152 fps
1. Delphi 7 Enterprise
2. Какой SnapShot точно не знаю, брал по ссылке у DeadMeat.
3. AMD Athlon 64 +3000, ~2000 mHz
4. 512 mb ram.
5. ATI Radeon 9800 Pro, 128 mb
6. Catalyst 5.5 (без модификаций)
7. Windows XP Professional SP2


 
Домовенок ©   (2005-08-09 02:24) [34]

Завтра попробую поставить модификацию Catalyst 5.7 от Omega и GLScene SnapShot от 06.08.05, перекомпилирую демку и напишу какие результаты получатся :)


 
Xeno ©   (2005-08-09 05:50) [35]

1.90
2.Delphi 6 Enterprise Build 6.163
3.Celeron 2,0/400
4.512 mb pc3200
5.Geforce5500 128 mb
6.NVIDIA v6.14.10.6177, DirectX9.0c
7.WindowsXP-SP2 Prof

Завтра ещё на двух конфигурациях скину...


 
DeadMeat ©   (2005-08-09 08:38) [36]

0. FPS: 104 - с включенной мирандой, и 112 без нее
1. Delphi 6 Enterprise, Build 6.240, Update Pack 2
2. Тут на работе точно не скажу, но кажется последний.. Дома точнее будет
3. Celeron 2.4
4. 256 Mb
5. GeForce4 MX440
6. Omega 1.6177.. на базе каких ForceWare не скажу.. Но не новые
7. WinXP_SP2 Prof


 
DeadMeat ©   (2005-08-09 19:21) [37]

0. FPS: 154
1. Delphi 6 Enterprise, Build 6.240, Update Pack 2
2. Тут явно должен быть уже последний
3. AMD64 3000+
4. 1024 Mb
5. GeForce4 MX440 SE
6. Omega 1.6177.. на базе каких ForceWare не скажу.. Но не новые
7. WinXP_SP2 Prof

Это уже дома..

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


 
Fosgen   (2005-08-09 23:13) [38]

0: FPS - 184,04
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - фиг его знает - по ссылке от DeadMeat брал...
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 - 741,42 (!!!!!)
1: Delphi 5.0 Enterprise build 5.62-была выгружена
2: GlScene - разумеется тоже.
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 - 50
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - та самая старая версия, о которой я столько говорю - похоже Release
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-11 08:07) [39]

Я так понял что последнее мое сообщение погрузило всех то ли в ступор, то ли в замешательство, судя по отсутствию сообщений. Меня же терзает мысль о том куда девается 70% производительности в новых версиях GLScene и каким образом ее можно вернуть?


 
DeadMeat ©   (2005-08-11 08:31) [40]

Момент...
Чего то не догнал..


0: FPS - 184,04
1: Delphi 5.0 Enterprise build 5.62
2: GlScene - фиг его знает - по ссылке от DeadMeat брал...Вот это
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 - 741,42 (!!!!!)
1: Delphi 5.0 Enterprise build 5.62-была выгружена
2: GlScene - разумеется тоже.И вот это
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


Вот выделенные места..
Пакет я так понимаю одинаковый чтоли?



Страницы: 1 2 3 вся ветка

Форум: "Игры";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.014 c
2-1140853843
Romanych
2006-02-25 10:50
2006.03.12
Графыка в PaintBox


2-1140729327
49 Cent
2006-02-24 00:15
2006.03.12
Сумма ячеек в DBgrid?


3-1137561800
maep
2006-01-18 08:23
2006.03.12
Вставка в Oracle (ODAC)


4-1134664590
The_scorpion
2005-12-15 19:36
2006.03.12
Функция CreateBitmap


4-1134921296
I am
2005-12-18 18:54
2006.03.12
Глобальные хуки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский