22 Сентября 2024, 02:00:58
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Контент > Вопросы чайника
Вопросы чайника
(Прочитано 25337 раз)
  1 [2]
Печать
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #15 13 Февраля 2008, 22:12:48 »
Re: Вопросы чайника |
15
Я утверждать не буду, но у меня по этому поводу другая теория. Если мне подскажут где я не прав, буду благодарен.

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

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

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

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

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

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

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

Пусть у нас получилось 5 мип-мап уровней. Причем самый верхний(основная текстура)
занимает больше всего видеопамяти, а последняя меньше всего. Теперь, рисуя такую текстуру мы способны контролировать нагрузку на ВИДЕО - шину, поскольку рисуем(читать - (читаем и считаем)) ту текстуру(участок видео памяти(мипмапуровень)) которая нам нужна в зависимости от детализации. Ни системная шина, ни квест не имеют
к этому процессу прямого отношения.
mikl | *** | Постоялец | Сообщений: 123 | «Ответ #16 13 Февраля 2008, 23:27:58 »
Re: Вопросы чайника |
16
Цитировать
Пусть у нас получилось 5 мип-мап уровней. Причем самый верхний(основная текстура)
занимает больше всего видеопамяти, а последняя меньше всего. Теперь, рисуя такую текстуру мы способны контролировать нагрузку на ВИДЕО - шину, поскольку рисуем(читать - (читаем и считаем)) ту текстуру(участок видео памяти(мипмапуровень)) которая нам нужна в зависимости от детализации. Ни системная шина, ни квест не имеют
к этому процессу прямого отношения.

Я не это имел в виду.
А в виду я имел следующее:
Что этот метод "освобождает сист. шину от нагрузок. Но
при использовании квеста в среде DirectX квест именно нагружает
системную шину в связи с использованием частых лишних обработок
каналов процессором. Грустный
Const_47 | **** | Старожил | Сообщений: 299 | «Ответ #17 14 Февраля 2008, 01:41:18 »
Re: Вопросы чайника |
17
Я не имел ввиду системную шину. А то что квест грузит проц и не только, это чистая правда. Особенно вам, как человеку выступающему по физике это особенно понятно. Ведь физику считаете СPU. Думаю использование SDK может решить массу проблем. С графикой несколько другая ситуация. Фактически графика от Q3D архитектуры страдает только от части. С одной стороны графика проблема GPU, с другой - архитектура Квеста иногда просто выводит из себя. Каждый канал Q3D считает уникальным, то есть, если я буду использовать 10 каналов с одинаковой текстурой, то получу десятикратное увеличение использования видеопамяти! Но с другой стороны, мне ничего не мешает использовать
один канал текстуры, и накопипастить 10 ссылок Подмигивающий. Есть и другие заморочки, например
для HLSL - канала такой фокус не пройдет. Короче - оптимизируем как получается.       
KR design | * | Новичок | Сообщений: 21 | «Ответ #18 30 Марта 2009, 19:23:15 »
Re: Вопросы чайника |
18
В теме обсуждаются просто таки ЧАЙНИЦКИЕ вропросы ))))
Простите за оффтоп  Строит глазки

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

Неужели разработчики думают, что ее можно изучить без ошибок и работать в ней без ошибок... видемо, где-то я не досмотрел - подскажите, где?
Denil-Tornado | **** | Старожил | Сообщений: 313 | «Ответ #19 30 Марта 2009, 22:19:10 »
Re: Вопросы чайника |
19
Цитировать
У меня следующий вопрос:
А что в Квесте нет такой функции как Undo/Отменить??? Вренутся назад, Ctrl+Z !?!?

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

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

* Снимок.JPG (11.59 Кб, 153x120 - просмотрено 1511 раз.)
KR design | * | Новичок | Сообщений: 21 | «Ответ #20 30 Марта 2009, 23:00:29 »
Re: Вопросы чайника |
20
Но есть такая вещь см. скрин.
Restore - нынешний
Last Save - вернуться к последнему сохранению

Агааа! Понятненько! я счас пока мануал прохожу, так из-за ошибки приходилось всю сцену заново подгружать и все заново повторять. Счас то оно хорошо - все впервой, запоманается лучше, а если это будет свой проект, глобальных масштабов... Мелочь, вроде бы, но ценная-то какая ))
Спасибо за подсказку,Denil-Tornado Улыбающийся
 
  1 [2]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Контент > Вопросы чайника
Перейти в: