![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поговорим о оптимизации GLScene. [Delphi, GLScene, Windows]
Conferno © (2005-07-26 16:37:00)Привет мастерам и игроделам на GLScene!
В данной ветке давайте будем обсуждать оптимизацию GLScene.
Товарищи, кто делал игры на этом движке, расскажите о оптимизациях:
1. Как правельно пользоваться TGLPortal?
2. Какую текстурную фильтрацию лучше использовать Анизотропную или Изотропную...
3. Почему туман не повышает ФПС...
4. Виды Cull'ингов - какие лучше и как правельно пользоваться,
как отрезать невидимые обьекты, находящиеся, например, за стеной...
5. Динамичные тени и Lightmap'ы - как правельно с ними работать...
6. Можно ли модель в 3DMax экспортировать в 3ds, при этом, чтоб он не урезал имена используемых текстур?
Или где можно достать доки или примеры...
Обо всем здесь :)
Также можно задавать свои вопросы... :)
Frost (Freak) (2005-09-06 09:48:00) [21]2 DeadMeat:
Ну, допустим, шейдеры появились намного раньше второй версии ;)
DeadMeat (2005-09-06 08:40:00) [22]Получается что ни одна игра, использующая OpenGL 2.0 не будет работать на Win2k вообще?? И никаких тебе шейдеров?
Fosgen (2005-09-05 22:56:00) [23]Народ такое впечатление что закралась деза в Ваши ряды. Драйвера МОГУТ содержать библиотеки ОБЕСПЕЧИВАЮЩИЕ СВЯЗЬ железа с СИСТЕМНОЙ БИБЛИОТЕКОЙ opengl32.dll! Но они никогда не содержали самой этой библиотеки! Эта dll-ка ставится вместе с виндой. Т.к. в ХР-шке имеет место быть opengl32.dll версии 2.0, то и поддержка сей версии наличествует. Например у меня под 2000-ой никаких вопросов про версию вообще не возникало. А все потому что в 2000 библиотека версии 1.1, а GLScene проверяет именно на эту версию (либо не проверяет совсем). А с какого перепугу вы решили что драйвера имеют в своем составе opengl32.dll - не понимаю. У меня дома на одной машине ATi, на другой GF6800GT с родными драйверами - ни в одном комлекте системных библиотек не наблюдается. Так что - кончайте глючить народ по поводу драйверов.
Вообще-то система должна работать след. образом: Стоит железяка, поддерживающая OGL 2.0, ее драйвера об этом сообщают стандартной библиотеке что стоит в системе, если сама библиотека понимает версию 2.0, то как результат система и заявляет о поддержке OpenGL 2.0. Если хоть что-то из вышеперечисленного не может сказать о поддержке OGL 2.0, то вы увидите сообщение о том что имеете только версию 1.1.
Пример: У меня GF6800GT с родными свеженькими дровами (думаю не надо пояснять что OGL 2.0 тут как родной). Но у меня стоит 2000-я с библиотекой версии 1.1. Таким образом никаких функций 2.0 я не имею. Надеюсь доступно объяснил?
Да библиотеку можно скачать, да ее можно обновить просто заменив файл в папках system32 и dllcache (файл не относится к ядру - дает возможность перезаписи в run-time). Но я лично так не делал, потому как мне - нафиг не нать. Тем более что старый релиз GLScene работает с родной dll-кой 2000-ой на ура и гораздо быстрее. В общем - пробуйте на свой страх и риск. А дрова оставьте в покое. Слишком много смотрю на них стали стрелки переводить. И вообще 2000-я рулит!
Coriolis (2005-09-05 21:35:00) [24]Дак к какому выводу пришли?
Нужно юзать более старую версию что ли? 09bfull ?
DeadMeat (2005-08-26 00:42:00) [25]Короче выходит такая бяка..
Опять же только мои предположения.. На истину не претендую.
OpenGL 2.0 это определяет система.. Снесите дрова.. И не будет она это определять..
Ни фич ОГЛ 2.0 ничего от нее не будет.. Это как я понял.
Далее..
Постараюсь найти Win2k с хорошей карточкой.. и потестить там.. Пока такой возможности нет.. но постараюсь.
---
...Death Is Only The Begining...
DeadMeat (2005-08-26 00:22:00) [26]http://www.realtech-vr.com/glview/
позволит многое узнать про то, что у вас там стоит.. И версию.. и возможности.. и т.п..
564 кб.
---
...Death Is Only The Begining...
Fosgen (2005-08-26 00:03:00) [27]Я подозреваю ответственность этих файлов за "сочленение" встроенного в железе OpenGL со стандартной системной библиотекой. Ведь ни GLScene, ни любой другой (не привязанный к конкретному железу программный продукт) не использует эти atioglx1.dll и atioglxx.dll, а использует opengl32.dll. А последний-то каким был, таковым и остался. У меня например эти файлы вообще называются atiglpf.dll и atiglxx.dll. Так что стандартными универсальными библиотеками они просто не могут быть.
А насчет работоспособности программ под ХР - уберите проверку на версию 1.1 и все дела, только вот fps это под ХР не прибавляет - так что не о том разговор. А разговор о том, что во-первых, похоже докопались мы все коллективно до "заточенности" GLScene под версию OpenGL 1.1. Я правильно резюмирую? Скорректируйте если я не прав. Если же я прав, то встает вопрос - что с этим делать и как оптимизировать GLScene дабы она выдавала свою "проектную" мощность и на версии 2.0? Думаю этот вопрос совпатает с темой ветки...
Санёк (2005-08-25 23:36:00) [28]
> Fosgen (25.08.05 23:10) [79]
хорошо, положим, ты прав - ХР это отстойная система.
но.
ответь на один вопрос - люди, которые будут играть в твою игру, они что, все под 2000 сидят?
сумневаюсь, ой как сумневаюсь.
дак что делай выводы.
и еще.
по поводу библиотек.
если присмотреться к папке \WINDOWS\system32 , то можно заметить, что там наличествует два файла - atioglx1.dll и atioglxx.dll.
интересно, за что они отвечают, а?
Fosgen (2005-08-25 23:10:00) [29]Позвольте не согласиться. С дровами библиотека OpenGL не обновляется - можете почитать в описании той же ХР - как мелкомягкие хвастаются СИСТЕМНОЙ поддержкой OpenGL v.2.0. Кстати, как это ни смешно, но проверка на версию OGL 1.1 наличествует и в GLScene.pas из предпоследнего SnapShot'а.
О чем это говорит? Скорее всего о том что GLScene не оптимизирована для работы с OGL v.2.0... Отчего вы и не можете получить те результаты, что получаю я под 2000-ой со "старой" версией OpenGL... Вот за это я и не люблю ХР.
А драйвера всегда обновляют только файлы отвечающие за взаимодействие системы с железом. Исконно системные файлы (а opengl32.dll является таковым) они не трогают. Проверьте сами - при установке системы и после установки драйверов видеокарты файл opengl32.dll остается одним и тем же.
DeadMeat (2005-08-25 12:59:00) [30]Хмм.. Видать с 2.0 я погорячился..
Но так или иначе, версия у вас старая. Обновляется (в этом я больше уверен) она с дровами... Ну по крайней мере я так всегда думал...
А насчет 2.0 ошибочка вышла.
Однако факт остается фактом. Да и от системы ИМХО не зависит.. Все от драйвера идет.
Хотя может тут есть люди более квалифицированные чем я в этой области. Пускай лучше они скажут, а то еще глупость выдвину, а вы поверите.. ;)
Fosgen (2005-08-25 12:30:00) [31]А может все дело в OGL_1_1? А версия библиотеки не с дровами ставится, а с системой. Посмотрите сами - файл opengl32.dll - чисто системный, ставится вместе с виндой. Дрова вообще тут ни при чем. В них даже файлы другие - посмотрите сами какие файлы драйвера ставят. Вы же все под ХР-ой сидите, а я - под 2000-ой, скорее всего в 2000-ой нет поддержки OGL_2_0.
Санёк (2005-08-25 10:43:00) [32]проверил MegaGlassCube - 154 стабильно.
моя компиляция этой демки с последним снапшотом выдает 174.
действительно видимо дело в драйверах.
через пару дней смогу потестить на нормальном компе под управлением Windows 2000.
DeadMeat (2005-08-25 10:37:00) [33]Мегакуб не качает.. 0 байт говорит.
А МегаГлассКуб качает.
Насчет библиотеки.
Она обычно ставится вместе с последними дровами..
Фиг знает почему у вас не встала..
ЗЫ. Проверять могу только вечером.. дома. Тут не стоит. Хотя МегаГлассКуб дает около 84 фпс на старой конфигурации из поста [36]. Миранда включена.
Один фиг ниже ФПС.
Но дома точно проверю.
Fosgen (2005-08-25 10:30:00) [34]Залил я демки с отключенной проверкой на версию OpenGL. Пробуйте.
Fosgen (2005-08-25 09:30:00) [35]Может дело в Win2000? Кто-нить не под XP сидит? Мне лично ХР очень не нравится - слишком много косяков и кушает ресурсов. 2000-я в этом смысле на порядок вылизанней.
И к вопросу о - где мне теперича брать сию библиотеку версии 2.0?
DeadMeat (2005-08-24 23:30:00) [36]Как я собсна и предполагал, у вас версия OpenGL не 2.0.
Вывод: скорее всего у вас либо моросит драйвер либо еще чтото. Потому как с последними драйверами она (библиотека) обычно ставится сама.
Я не смог у себя запустить скомпиленную вами демку из-за старой ошибки GLScene.
---
...Death Is Only The Begining...
Fosgen (2005-08-24 22:04:00) [37]Уррра! Все залил. Даже инфу о текущем состоянии своего проекта обновил. Так что заходите - качайте, читайте, смотрите скриншоты.
Fosgen (2005-08-22 18:15:00) [38]Погодите пока, говорю же в течение пары дней выложу... Вам бы такую связь как у меня - не торопились бы качать...
Санёк (2005-08-22 14:21:00) [39]
> Fosgen (21.08.05 20:14) [67]
эм.....
у меня твои файлы архивированные качаются, но весят по 10-20 клобайт каждый и рар ругается на неожиданный конец архива...
DeadMeat (2005-08-21 20:33:00) [40]
> Что интересно - мне никаких таких манипуляций с файлом GLScene.pas
> делать не приходилось. Просто устанавливал старую сборку
> под свежепоставленную Дельфи. Не здесь ли собака порылась?
Хмм.. Маловероятно...
Однако это может свидетельствовать о том, что OGL у вас старой версии.. Не 2.0.
Потому как я менял строку проверки на версию.. В старой сборке была ошибка (но не в GLScene.pas, а толи в XOpenGL.pas, толи в OpenGL1x.pas) которая не правильно определяла версию OGL.
Разницу в размере можно объяснить тем, что скорее всего некоторый части модулей были распределены между друг другом...
---
...Death Is Only The Begining...