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-05 09:27:00) [81]

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


DeadMeat   (2005-08-05 08:21:00) [82]

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


Zer0   (2005-08-05 01:20:00) [83]

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


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

DeadMeat (04.08.05 15:05) [23]

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


DeadMeat   (2005-08-04 15:05:00) [85]

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


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

DeadMeat (04.08.05 09:47) [21]

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


DeadMeat   (2005-08-04 09:47:00) [87]

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


DeadMeat   (2005-08-04 09:46:00) [88]

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


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

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

Итак:

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

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

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


FRick   (2005-08-01 17:42:00) [90]

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


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

Я опять же про тени - тестил редактор у моего друга(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 дней, так что ПЛИз не забрасывайте тему !!! :)


Xeno   (2005-07-29 11:01:00) [92]

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


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

Дрова тут точно не при чем. ВСЕ объекты создаются 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 09:01:00) [94]

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


DeadMeat   (2005-07-29 08:34:00) [95]

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


Xeno   (2005-07-29 05:51:00) [96]

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


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

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


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

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


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


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

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

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


Xeno   (2005-07-28 05:51:00) [100]

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


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

Наверх

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