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

Вниз

Оптимизация glscene   Найти похожие ветки 

 
!Trinix ©   (2005-06-07 08:41) [0]

Господа! Приветствую!
Решил спросить про оптимизацию glscene:
Вы знаете, что серьезный (более или менее) 3D проект очень тормозит. Чтобы от этого избавися программисты убирают модели, которые игрок не видит. Я пробовал так сделать, но жрет много процессора. Помогите, пожалуйста.
P.S. заодно оцените мой сайт sgstd.nm.ru.
Спасибо!


 
DeadMeat ©   (2005-06-07 08:56) [1]

Ты чуток конкретней спроси, и покажи что уже есть, что моросит...


 
!Trinix ©   (2005-06-07 09:01) [2]

Как отгружать модели из памяти, когда игрок отворачивается и загружать когда опять их видит. Я использовал пример visor из glscene.nm.ru.


 
П7   (2005-06-07 09:05) [3]

Приклисты, блин...


 
!Trinix ©   (2005-06-07 09:16) [4]

Простите, не понял.


 
Xeno ©   (2005-06-07 09:23) [5]

>!Trinix
А зачем их выгружать, ето не правильно, тормоза будут, делай их просто невидимыми (visible:=false) вне камеры :)


 
!Trinix ©   (2005-06-07 09:33) [6]

Но они все равно остаются на сцене, и от невидимости FPS не уменьшится.


 
DeadMeat ©   (2005-06-07 09:51) [7]

Хреново однако...


 
Fosgen   (2005-06-07 09:54) [8]

!Trinix, ты думаешь отчего вообще FPS зависит? ОТ КОЛИЧЕСТВА ОТОБРАЖАЕМЫХ ПОЛИГОНОВ В СЦЕНЕ, блин... Таким образом если полигоны какой-либо модели НЕ ВИДИМЫ, сл-но они не отображаются и производительность видеосистемы не кушают... Так что не рассуждай, когда тебе конкретный совет предлагают, а попробуй, для начала...


 
П7   (2005-06-07 10:02) [9]

Я говорю "СМЕШНО!!!". Чего не понятно?


 
!Trinix ©   (2005-06-07 10:20) [10]

>Fosgen
Спасибо, туплю...


 
Zer0 ©   (2005-06-07 15:03) [11]

вот магические слова, которорые отвечают за ускорение отрисовки:
visibility culling (on view fustrum), occlusion culling, dynamic level of detail, shaders optimization


 
Fosgen   (2005-06-07 16:20) [12]

На будущее (если еще кто с таким же вопросом) - Сравните сами: скорость работы памяти (хоть видео, хоть ОЗУ) измеряется в наносекундах (нс), а производительность дисковой подсистемы в миллисекундах (мс) - разница в порядки раз! Так что сами уже решайте чем быстрее пользоваться - выгрузкой\загрузкой с диска, али работой с памятью (и только с ею родимой!)...


 
!Trinix ©   (2005-06-07 17:29) [13]

Господа, извините - вопрос не по теме.
Как при столкновении камеры со стеной отодвигать камеру ближе к игроку, если честно, то я с collision плохо разобрался.


 
Zer0 ©   (2005-06-07 17:38) [14]

есть игрок с центром на который смотрит камера,
есть камера у которой заданы углы поворота (в горизонтальной плоскости) и наклона,
пускаем луч из центра игрока в направленни противоположному направлению обзора камеры(как-будто смотрим на камеру из игрока =),
смотрим с какими предметами сцены этот луч сталкивается сталкивается и соотвественно зная расстояние, которое прошел луч до первого столкновения корректируем положение камреы.
в жлсцене есть специально заготовленные RayCast-бла-бла-бла функции.


 
!Trinix ©   (2005-06-07 17:53) [15]

Спасибо


 
!Trinix ©   (2005-06-07 18:59) [16]

Простите, еще один вопрос:
допустим есть класс TPerson, от него образуются классы TMage и TWarrior. Можно обратится к TPerson так, чтобы это обращение пошло одновременно на TMage и TWarrior?


 
Fosgen   (2005-06-08 07:08) [17]

2 !Trinix : Ты же обращаешься к экземпляру класса, а не к самому классу - а судя по твоему вопросу ты хочешь параллельно аж к трем объектам обратиться - помни, что реально в ед. времени процессор обрабатывает все же одну операцию, несмотря на все рассказы о мультизадачностях и параллельных процесах... Ну как одновременно обрабатываемые можно совместить операции мат. сопроцессора, да работу видеокарты, но обращение СРАЗУ к трем объектам, да еще и автоматизированное... Читайте книжки по ООП...


 
Zer0 ©   (2005-06-08 09:19) [18]

если класс TMage наследуются от TPerson,
то при обращении к классу TMage, как к TPerson и изменение его полей естественно приведет к тому что в TMage эти поля тоже изменятся (они содержатся в одних и тех же ячейках памяти).
при вызове медодов класса возможно использование и "перегрузка" методов предка.

про другие виды обращения (интерфейсы и прочая чорная магия) - rtfm.


 
!Trinix ©   (2005-06-08 13:21) [19]

Можете чуть-чуть понятнее разъяснить.


 
dimodim   (2005-06-08 14:13) [20]


> Можете чуть-чуть понятнее разъяснить.

Камп грузится не из-за моделей в сцене
А из-за качества текстур .Наверное...
---
Ну пошпили В Хроники Риддика - там графа АФИГЕТЬ, а у меня 40fps
Пошпилив свою демку где лежит 150 тайлов травы 30 fps Причем в Риддеке качество текстур фотоаграфическое , а у меня тайлы 20*20 bmp 256 цветов.
--
Тормозит Жлсцене скажи спасибо разработчикам


 
VVV-First   (2005-06-08 14:26) [21]

а вот если при приближении к объекту менять текстуру с малыми размерами на больший  и наоборот , это вообще поможет или это капля в море?


 
DeadMeat ©   (2005-06-08 15:24) [22]

Мы всегда тебе рады димодин... ;)

Хотя бы про размеры текстур почитал бы.. Прогер-сценарист....
Про русский я молчу.


 
!Trinix ©   (2005-06-08 18:36) [23]

>VVV-First
Это называется мип-маппинг, происходит автоматически (заложено в функциях 3DApi).
Ходите в форуме по созданию игр, а таких вещей не знаете..


 
VVV-First   (2005-06-08 19:04) [24]

да стыдно %)
если знаешь дай ссылочку почитать


 
Fosgen   (2005-06-08 19:12) [25]

2 !Trinix: Насчет классов - если ты обращаешься к TMage - потомку класса TPerson (учти - в любом случае идет обращение к ОДНОМУ экземпляру класса! Т.е. - к одному объекту. Object:TMage;). Причем обращаешься ты к нему как к объекту класса TPerson (Object as TPerson) то при изменении его полей поля объекта TMage (Object as TMage) тоже поменяются - объект-то один и тот же...


 
VVV-First   (2005-06-08 19:27) [26]


> !Trinix ©  
но ты тоже молодец

> Как отгружать модели из памяти, когда игрок отворачивается
> и загружать когда опять их видит.


 
Ищущий   (2005-06-09 08:51) [27]

2Fosgen
В принципе верно, но только для ОДНОГО объекта (в смысле экземпляря класса)

2!Trinix ©
Можно перебрать объекты  с parent class TPerson и изменить необходимое свойство.


 
!Trinix ©   (2005-06-09 14:05) [28]

спасибо, не могли бы вы мне заодно сказать форматы файлов с анимацией, которые поддерживает GLScene. (obj e t. c.)


 
XProger ©   (2005-06-09 14:16) [29]

md2


 
!Trinix ©   (2005-06-09 18:07) [30]

но не один же формат?


 
Fosgen   (2005-06-09 22:17) [31]

Как это не грустно - практически один. Конечно еще формат моделей от Quake 2, но там анимация морфовская - пересчитывается для всей модели, а не скелетная (как md2) - может пересчитываться run-time для части модели...


 
DeadMeat ©   (2005-06-10 08:52) [32]

Хе.. А я думал что как раз md2 это морфовая.. А md3 скелетная.
А еще я думал, что в GLScene есть smd, и md5.


 
!Trinix ©   (2005-06-10 09:12) [33]

В таком случае, дайте мне, пожалуйста, нормальную ссылку на экспорт в md2 из макса 5.1, сразу говорю qtip не отображается в file\export...


 
Xemo   (2005-06-10 09:36) [34]

>!Trinix ©
В плаиге QTtip экспорт в MD2 производиться не из меню "file\export...",а из кладки "утилиты"(кажись так называется :)
Читай внимательней хелп на странице производителя, там даже картинки есть!


 
!Trinix ©   (2005-06-10 10:26) [35]

ок


 
Sapersky   (2005-06-10 11:37) [36]

А я думал что как раз md2 это морфовая.. А md3 скелетная.

А я до сих пор наивно полагаю что md3 морфовая :) C той только разницей от md2, что голова/торс/ноги обрабатываются отдельно (что, кстати, иногда создаёт проблемы по их совмещению). В принципе, это можно назвать скелетом из 3-х костей :)

smd - "настоящая" скелетная, и то уже порядком устарела по нынешним временам (ну ещё бы, сколько ей лет?). В частности, положение вершины определяется только 1-й костью, хотя в 3D API (и T&L ускорителей) давно уже присутствует поддержка нескольких, т.н. skinning или geometry blending.


 
DeadMeat ©   (2005-06-10 12:43) [37]

Аа.. Блин..
Прошу прощения.
Перепутал с GLM, в JA. Она же тоже на кваковском движке.. Вот и перепутал.. Думал там MD3..
Миль пардон.
А md2 все равно не скелет.. ;))


 
!Trinix ©   (2005-06-10 13:23) [38]

Я скачал qtip1.2 для 5 макса, но там пронумерованы и названы 308 фреймов, можно импортировать из других md2 файлов эти названия и количесва фреймов, но скажите, как самому все обозвать: в реале моя модель владеет более 1000 фреймов.


 
!Trinix ©   (2005-06-10 16:54) [39]

версия 1.2


 
!Trinix ©   (2005-06-10 16:56) [40]

ой простите, уже указал


 
Fosgen   (2005-06-12 11:50) [41]

Извиняюсь, накосячил - конечно smd - скелетные, а все mdX - морфовые.. Вот только у smd вроде ограничение в 500 полигонов есть...



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

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

Наверх




Память: 0.54 MB
Время: 0.037 c
3-1126685588
Term
2005-09-14 12:13
2005.10.23
Сообщение об ошибке при создании ХП


9-1118244727
Novouralsk
2005-06-08 19:32
2005.10.23
Special To grouzd[e]v


14-1128022479
lookin
2005-09-29 23:34
2005.10.23
CSKA-MIDT


14-1127910784
Иванов__
2005-09-28 16:33
2005.10.23
Нужен подобный компонент но бесплатный


1-1128076929
Lera
2005-09-30 14:42
2005.10.23
Центрирование в StringGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский