• Добро пожаловать на Quest3D - Русскоязычное сообщество.
 

Новости:

Форум Quest3D восстановлен!

Главное меню

Вопросы чайника

Автор MegaShtorm, 14 января 2008, 18:03:46

« назад - далее »

Const_47

Я утверждать не буду, но у меня по этому поводу другая теория. Если мне подскажут где я не прав, буду благодарен.

Дело в том, что даже "чистое" DirectX приложение не общается с видео напрямую. Есть уровень абстракции HAL - Hardware Abstraction Layer.

Приблизительно это выглядит так

Графдвиг -> DirectX -> HAL -> Видео.

Цель HAL это избавить программиста от титанического труда прямого общения с видео. Учитывая количество разных видео и производителей, со своими заморочками + те модели
которые еще в разработке и когда нибуть да появятся. Как гарантировать, что приложение написанное сегодня, будет работать на различных видео? или на тех, которые появятся скажем через пять лет? Это задача HAL.

В момент, когда наши текстуры "рисуются" значения для текстур читаются из видеопамяти. В кеш памяти видеокарты содержатся ссылки, на тот участок памяти видео,
где содержатся значения наших текстур.

А теперь представим себе что мы "попросили" Quest3D генерировать за нас мип-уровни.
Quest3D-> DirectX -> HAL -> Видео.

На уровне абстракции HAL -> Видео это происходит где-то так - возможно :)))
1Читаем участок видео памяти(текстура).
2Проcчитываем GPU мип уровень из полученной текстуры(мипмап уровень №1)
3Записываем полученный результат в память видео.
4Записываем указатель на участок памяти выделенный для хранения миплевела в кеш     
и так дальше... в зависимости от количества нужных нам мип-левелов.

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

mikl

ЦитироватьПусть у нас получилось 5 мип-мап уровней. Причем самый верхний(основная текстура)
занимает больше всего видеопамяти, а последняя меньше всего. Теперь, рисуя такую текстуру мы способны контролировать нагрузку на ВИДЕО - шину, поскольку рисуем(читать - (читаем и считаем)) ту текстуру(участок видео памяти(мипмапуровень)) которая нам нужна в зависимости от детализации. Ни системная шина, ни квест не имеют
к этому процессу прямого отношения.

Я не это имел в виду.
А в виду я имел следующее:
Что этот метод "освобождает сист. шину от нагрузок. Но
при использовании квеста в среде DirectX квест именно нагружает
системную шину в связи с использованием частых лишних обработок
каналов процессором. :(

Const_47

Я не имел ввиду системную шину. А то что квест грузит проц и не только, это чистая правда. Особенно вам, как человеку выступающему по физике это особенно понятно. Ведь физику считаете СPU. Думаю использование SDK может решить массу проблем. С графикой несколько другая ситуация. Фактически графика от Q3D архитектуры страдает только от части. С одной стороны графика проблема GPU, с другой - архитектура Квеста иногда просто выводит из себя. Каждый канал Q3D считает уникальным, то есть, если я буду использовать 10 каналов с одинаковой текстурой, то получу десятикратное увеличение использования видеопамяти! Но с другой стороны, мне ничего не мешает использовать
один канал текстуры, и накопипастить 10 ссылок ;). Есть и другие заморочки, например
для HLSL - канала такой фокус не пройдет. Короче - оптимизируем как получается.       

KR design

В теме обсуждаются просто таки ЧАЙНИЦКИЕ вропросы ))))
Простите за оффтоп  ::)

У меня следующий вопрос:
А что в Квесте нет такой функции как Undo/Отменить??? Вренутся назад, Ctrl+Z !?!?

Неужели разработчики думают, что ее можно изучить без ошибок и работать в ней без ошибок... видемо, где-то я не досмотрел - подскажите, где?
CPU:Intel Core 2 Quad Q6600 2.4Ghz  MB:Gigabyte P35-DS3R  RAM:4GB DDRIII  Video: 1GB nvidia GeForce 8800GT
---
3ds Max 9.0; Quest3D 4.2.2
---
Windows XP SP3

Denil-Tornado

ЦитироватьУ меня следующий вопрос:
А что в Квесте нет такой функции как Undo/Отменить??? Вренутся назад, Ctrl+Z !?!?

Неужели разработчики думают, что ее можно изучить без ошибок и работать в ней без ошибок... видемо, где-то я не досмотрел - подскажите, где?
Вот эта ерить меня тоже бесит.

Но есть такая вещь см. скрин.
Restore - нынешний
Last Save - вернуться к последнему сохранению

KR design

Цитата: Denil-Tornado от 30 марта 2009, 23:19:10
Но есть такая вещь см. скрин.
Restore - нынешний
Last Save - вернуться к последнему сохранению

Агааа! Понятненько! я счас пока мануал прохожу, так из-за ошибки приходилось всю сцену заново подгружать и все заново повторять. Счас то оно хорошо - все впервой, запоманается лучше, а если это будет свой проект, глобальных масштабов... Мелочь, вроде бы, но ценная-то какая ))
Спасибо за подсказку,Denil-Tornado :)
CPU:Intel Core 2 Quad Q6600 2.4Ghz  MB:Gigabyte P35-DS3R  RAM:4GB DDRIII  Video: 1GB nvidia GeForce 8800GT
---
3ds Max 9.0; Quest3D 4.2.2
---
Windows XP SP3