![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оптимизация glscene [Delphi, GLScene, Windows]
!Trinix © (2005-06-07 08:41:00)Господа! Приветствую!
Решил спросить про оптимизацию glscene:
Вы знаете, что серьезный (более или менее) 3D проект очень тормозит. Чтобы от этого избавися программисты убирают модели, которые игрок не видит. Я пробовал так сделать, но жрет много процессора. Помогите, пожалуйста.
P.S. заодно оцените мой сайт sgstd.nm.ru.
Спасибо!
VVV-First (2005-06-08 14:26:00) [21]а вот если при приближении к объекту менять текстуру с малыми размерами на больший и наоборот , это вообще поможет или это капля в море?
dimodim (2005-06-08 14:13:00) [22]
> Можете чуть-чуть понятнее разъяснить.
Камп грузится не из-за моделей в сцене
А из-за качества текстур .Наверное...
---
Ну пошпили В Хроники Риддика - там графа АФИГЕТЬ, а у меня 40fps
Пошпилив свою демку где лежит 150 тайлов травы 30 fps Причем в Риддеке качество текстур фотоаграфическое , а у меня тайлы 20*20 bmp 256 цветов.
--
Тормозит Жлсцене скажи спасибо разработчикам
!Trinix (2005-06-08 13:21:00) [23]Можете чуть-чуть понятнее разъяснить.
Zer0 (2005-06-08 09:19:00) [24]если класс TMage наследуются от TPerson,
то при обращении к классу TMage, как к TPerson и изменение его полей естественно приведет к тому что в TMage эти поля тоже изменятся (они содержатся в одних и тех же ячейках памяти).
при вызове медодов класса возможно использование и "перегрузка" методов предка.
про другие виды обращения (интерфейсы и прочая чорная магия) - rtfm.
Fosgen (2005-06-08 07:08:00) [25]2 !Trinix : Ты же обращаешься к экземпляру класса, а не к самому классу - а судя по твоему вопросу ты хочешь параллельно аж к трем объектам обратиться - помни, что реально в ед. времени процессор обрабатывает все же одну операцию, несмотря на все рассказы о мультизадачностях и параллельных процесах... Ну как одновременно обрабатываемые можно совместить операции мат. сопроцессора, да работу видеокарты, но обращение СРАЗУ к трем объектам, да еще и автоматизированное... Читайте книжки по ООП...
!Trinix (2005-06-07 18:59:00) [26]Простите, еще один вопрос:
допустим есть класс TPerson, от него образуются классы TMage и TWarrior. Можно обратится к TPerson так, чтобы это обращение пошло одновременно на TMage и TWarrior?
!Trinix (2005-06-07 17:53:00) [27]Спасибо
Zer0 (2005-06-07 17:38:00) [28]есть игрок с центром на который смотрит камера,
есть камера у которой заданы углы поворота (в горизонтальной плоскости) и наклона,
пускаем луч из центра игрока в направленни противоположному направлению обзора камеры(как-будто смотрим на камеру из игрока =),
смотрим с какими предметами сцены этот луч сталкивается сталкивается и соотвественно зная расстояние, которое прошел луч до первого столкновения корректируем положение камреы.
в жлсцене есть специально заготовленные RayCast-бла-бла-бла функции.
!Trinix (2005-06-07 17:29:00) [29]Господа, извините - вопрос не по теме.
Как при столкновении камеры со стеной отодвигать камеру ближе к игроку, если честно, то я с collision плохо разобрался.
Fosgen (2005-06-07 16:20:00) [30]На будущее (если еще кто с таким же вопросом) - Сравните сами: скорость работы памяти (хоть видео, хоть ОЗУ) измеряется в наносекундах (нс), а производительность дисковой подсистемы в миллисекундах (мс) - разница в порядки раз! Так что сами уже решайте чем быстрее пользоваться - выгрузкой\загрузкой с диска, али работой с памятью (и только с ею родимой!)...
Zer0 (2005-06-07 15:03:00) [31]вот магические слова, которорые отвечают за ускорение отрисовки:
visibility culling (on view fustrum), occlusion culling, dynamic level of detail, shaders optimization
!Trinix (2005-06-07 10:20:00) [32]>Fosgen
Спасибо, туплю...
П7 (2005-06-07 10:02:00) [33]Я говорю "СМЕШНО!!!". Чего не понятно?
Fosgen (2005-06-07 09:54:00) [34]!Trinix, ты думаешь отчего вообще FPS зависит? ОТ КОЛИЧЕСТВА ОТОБРАЖАЕМЫХ ПОЛИГОНОВ В СЦЕНЕ, блин... Таким образом если полигоны какой-либо модели НЕ ВИДИМЫ, сл-но они не отображаются и производительность видеосистемы не кушают... Так что не рассуждай, когда тебе конкретный совет предлагают, а попробуй, для начала...
DeadMeat (2005-06-07 09:51:00) [35]Хреново однако...
!Trinix (2005-06-07 09:33:00) [36]Но они все равно остаются на сцене, и от невидимости FPS не уменьшится.
Xeno (2005-06-07 09:23:00) [37]>!Trinix
А зачем их выгружать, ето не правильно, тормоза будут, делай их просто невидимыми (visible:=false) вне камеры :)
!Trinix (2005-06-07 09:16:00) [38]Простите, не понял.
П7 (2005-06-07 09:05:00) [39]Приклисты, блин...
!Trinix (2005-06-07 09:01:00) [40]Как отгружать модели из памяти, когда игрок отворачивается и загружать когда опять их видит. Я использовал пример visor из glscene.nm.ru.