Перейти к содержанию
СофтФорум - всё о компьютерах и не только

В 3DMax c драйвером Direct3D при повороте объекта пропадают отдельные


Рекомендуемые сообщения

Железо: P5GD2/ P4-2,8/DDR2 512Mbx2/PCI-E 6600GT 256Mb/SATA 160Gb.

ПО: XP Pro SP2+all udates/ NVIDIA 7.7.7.2 15.06.2005/ 3DMax v7

1) Проблема: В 3DMax c драйвером Direct3D (Customize/Preferences/Viewports/Chooose Driver) при повороте объекта пропадают отдельные поверхности, т.е.возникают как бы дыры. Если сменить драйвер на OpenG, то поверхности при поворотах объекта не пропадают.Тот же объект на другом компе (состав см. ниже)- то же самое.

Состав другого компа

Железо: P4P800/ P4-2,8/DDR400 512Mbx2/AGP 5900XT 128Mb/SATA 200Gb.

ПО: XP Pro SP2+all udates/ NVIDIA 5.6.7.3 07.04.2004/ 3DMax v6

Замена драйверов видеокарт (77.72->81.98WHQL, 56.73->Forceware 84.20) не повлияла.Тот же эффект и на других компах с другими видеокартами, драйверами и ОС(Windows2000).

Вопрос: Как устранить пропадание поверхностей в Direct3D?

2) После замены драйвера 56.73->Forceware 84.20 повороты объекта в OpenGL стали почти без тормозов, 1-2 сек! C 56.73 поворот на 180 град выполнялся 15-20сек.

Вопрос: Известны ли какие-то отрицательные эффекты при использовании не WHQL драйверов (конкретно Forceware 84.20) в 3DMax?

Спасибо. С уважением, Петров Иван.

Ссылка на комментарий
Поделиться на другие сайты

Petrov Ivan, а какой смысл использовать Direct3D?

Вообще, считается, что NVIDIA не всегда тянет серьёзную графику. Да, её реклама во всех игрушках, но... Врядли в ближайшем будущем какими-то дровами исправишь ситуацию.

Вообще производители рекомендуют использовать OpenGL: " Драйвер OpenGL позволяет использовать некоторые уникальные средства 3ds max, например Virtual Viewport (Виртуальное окно проекции)" - большая нагрузка ложится на видеокарту. В промежуточном случае (и проц и видяха примерно одного среднего уровня) рекомендуется Direct3D - испльзуются аппаратные возможности видеоадаптера. И когда вся система "ацтой", то собственный максовский драйвер Software - работает в основном проц.

Но, это я так... в порядке самовыражения.

По сути вопроса, мне неизвестны такие траблы. Работаю на старом Radeon. А сколько полигонов в сцене, когда возникают такие дыры? Каков режим отображения?

Понимаю, что вопрос возник, скорее, из любви к статистике - реально, подобные фишки не портят общей картины. У меня PIV3000 radeon9200 - затормаживание картинки при поворотах происходит при >100000 полигонов. Больше ста пятидесяти тысяч - повороты рывками. Это если выделять полики в сеточном виде. Дыр нет. Шестая версия при поворотах больше ста тысяч поликов могла слетать. Семёрка гораздо стабильнее. Восьмёрку такие мелочи не колышут.

:blink:

PS.Вот, решил дополнить пост примером: Без выделения полигонов вращается объект почти без задержек. Никаких дыр никогда не замечал. Вообще.

Изменено пользователем georg
Ссылка на комментарий
Поделиться на другие сайты

Вопросы возникли когда мне, компьютерщику, программеры дали объект и поставили задачи:

1. устранить торможения объекта при поворотах (железом и/или софтом)

2. ускорить рендеринг этого объекта в разы (например, вместо 4-5 часов - 1 час). (железом и/или софтом и/или что придумаю)

п.1. решается видеокартой и драйверами на нее. Эксперименты это подтвердили.

п.2. как мне пока кажется, дешевле всего решается сетевым (распределенным) рендерингом (визуализацией). Компов в сети можно задействовать 10-15, но есть сомнения:

1 - намного-ли ускорится рендер - пока не нашел результатов таких экспериментов.

2 - поскольку опыта создания таких рендерных ферм нет, то вопрос - можно-ли все это настроить "по книжке"? Если да, то где она лежит?

Задача 3 - пропадание поверхностей в Direct3D при повороте объекта заинтересовала, потому что программеры не смогли это устранить. Эксперименты показали, что ни железо, ни дрова, ни ОС не виноваты.

"...сколько полигонов в сцене, когда возникают такие дыры? Каков режим отображения?"

Смогу спросить только в понедельник или, если подскажете как и где, посмотрю и сообщу завтра.

Спасибо. С уважением, Петров И.

Ссылка на комментарий
Поделиться на другие сайты

Petrov Ivan, понятно. Это в корне отличается от мрих предположений. Извините.

если подскажете как и где, посмотрю и сообщу завтра.

Число полигонов можно увидеть на скрине, который я предоставил. Это всплывающее меню Properties. Чтобы его рассмотреть надо выделить объект и кликнуть правой кнопкой. Выбрать одноимённую строчку. Это, что касается отдельного объекта сцены.

Чтобы узнать числовые и качественные характеристики всей сцены, надо в меню File выбрать пункт File properties.

Режим Отображения определяется проще всего: в левом верхнем углу проекции, на обозначении вида кликнуть правой клавишей - галочка показывает режим. Интерфейс моего макса переделан слегка "под себя", но Вы разберётесь.

Настройка сетевой визуализации описаны в книге Келли Л. Мэрдок, начиная со страницы 1000 в книге "3ds max 5. Библия пользователя." Изменеия незначительны в последних версиях по сравнению с пятой. На сайте Autodesk можно узнать подробности на английском, - как компьютерщику, Вам язык не будет помехой. Достаточно много можно узнать на сайте 3DCenter. ru, но я там не частый гость и точные ссылки дать не могу.

:D

PS. Видяху надо менять. На профессиональную. Но на редер в разы это не повлияет . Интерактивная презентация - это да. И одновременная работа в нескольких графических приложениях. Сеть и многопроцессорность - вот реальное увеличение скорости рендера. На слабых и средних системах (типа моей) например, имеет смысл по очереди просчитать в V-Ray Irradiance map и Photon map, или Light cache, а не одновременно. Но это не существенно.

Ссылка на комментарий
Поделиться на другие сайты

Petrov Ivan, Ваши вопросы заставили и мнея более внимательно присмотреться. Возможно, что-то Вам и пригодится для анализа. В любом случае, тут есть над чем подумать, и, возможно, кого-то ещё заинтересует эта тема.На примере моей системы с 1024 МБ оперативы. Модель из первого моего поста. К модели применены модификаторы Push и Turbosmooth. Операции вращения производятся мышью.

1)Режим Smooth+ Hightlights:

Open GL; лёгкое, но явное притормаживание. Текстура контрастная, при вращении появляется шум, - мерцание, перелив.

Direct3D; норма. Изображение более сглаженное. Шум незначительный.

2)Режим Wireframe без выделения объекта:

Open GL; Вращение происходит явными толчками, но процесс не замедляется.

Direct3D; Сильное замедление. Движение скачкообразное - из начального положения в конечное, либо с одним промежуточным шагом, например; 0гр - 15гр - 180гр. Ожидание не больше одной секунды.

3)Режим Wireframe с выделением объекта:

Open GL; В сравнение с предыдущим этапом изменений практически нет. Возможно, очень незначительное торможение.

Direct3D; В сравнение с предыдущим этапом торможение усилилось. Заметно.

4)Режим Wireframe в режиме редактирования Poligons, но без их выделения:

В обоих случаях без торможения.

5)Режим Wireframe, с выделением всех полигонов объекта.

Open GL; Сильное торможение, с задержкой более секунды. Сравнимо с предыдущим режимом для Direct3D, но ещё сильнее. С промежуточным шагом, примерно так: 0гр - 5гр - 180гр.

Direct3D; Удивительно! Торможение отсутствует! ;)

Надо сказать, что если при этом тотальном выделении полигонов включить Smooth+ Hightlights, то с Open GL торможение полностью пропадает, и текстура под выделением не видна, а в Direct3D она явно проглядывает.

Когда я работал с Celeron 2400, Direct3D смотрелся гораздо менее привлекательно.

Теперь меня интересует, как эти драйвера поведут себя в финальном рендере. Но это позже.

Ещё. Опять же дыр не замечается. (Radeon!) При поворотах модели вводом с клавиатуры операции выполняются мгновенно в любом режиме, за исключением пятого этапа с Open GL - картина, как с мышью. Понятное дело, что с клавиатуры происходит вращение самого объекта (причём, я использовал как точку отсчёта центр объекта, Pivot point) - номерные клавиши Open GL не в счёт. Но для вычислений проца и видяхи, как мне кажется, это не важно.

Ссылка на комментарий
Поделиться на другие сайты

Скрин с File Properties (File.bmp) подопытного объекта в этот ответ не вставился (Сообщение:"ОБНАРУЖЕНЫ СЛЕДУЮЩИЕ ОШИБКИ Динамические страницы в тэгах запрещены" ) поэтому привожу характеристики:

"General

3ds max Version: 6.0

Uncompressed

Mes Totals

Vertices: 1066520

Faces: 1821080

Scene Totals

Objects: 142

Shapes: 34

Lights: 7

Cameras: 1

Helpers: 2

Space Warps: 0

Total: 186

External Dependencies ..."

Ссылка на комментарий
Поделиться на другие сайты

Petrov Ivan, в FAQе есть инструкции: http://www.softboard.ru/index.php?showtopi...95entry187995

Проще всего использовать http://imageshack.us/. Обзор>>>host it. И втавить какую-нибудь из ссылок прямо сюда, в текст, - да можно и без применения тегов, и отправить сообщение.

Да, сцена содержит в десять раз больше поликов, чем моя. Но у меня есть куча таких сцен, и я попробую потом одну. Сейчас макс у меня недоступен - рендер идёт в двух окнах и трогать его стрёмно.

Ссылка на комментарий
Поделиться на другие сайты

Оказалось, что таких файлов нет. Оптимизированы все примерно до 100000 граней.

Поэкспериментировал со сценой из 1 008 000 полигонов. В Direct3D работа у меня вообще не клеится. Тормоза нереальные!

С Open GL гораздо легче. Хотя и есть сильное притормаживание, но работать можно. Поворот на 180гр вводом с клавиатуры происходит почти сразу -явно меньше, чем за секунду. С Direct3D такая операция длится больше десяти секунд. Выделение полигонов, в случае, когда видны все объекты сцены, приводит к некоторому подвисанию, причём с Open GL сильнее. Всё это в сеточном отображении. В режиме Smooth+ Hightlights с Direct3D тормоза отсутствуют.

В общем, всё тоже самое, что уже я описывал, только с усилением эффекта.

Опять же никаких дыр в объектах не замечено. Тем более, что с Direct3D в режиме сглаживания тормоза исчезают.

Вот в сеточном формате да, - объекты вообще могут исчезать из сцены и появляются лишь когда завершается расчёт операции поворота. Причём, независимо от того, какой драйвер используется.

Что касается рендера.

Картинка 640Х480. V-Ray 1.48.03

Open gl (Time = 6155,3 s) Direct 3D (Time = 6105,1 s)

Число вершин в сцене 15327; число граней 29518

Настройки.

Всё по умолчанию, кроме :

1)Irradiance map

HSph subdivs = 100

Built presets – Very high.

2)rQMC Sampler

Adaptive Amount = 0,0

C Direct3D сцена была просчитана немного быстрее. Но я заметил это ещё на первом проходе V-Ray и стал пользоваться фотошопом, так что реально скорость ещё выше, но скорее всего не больше чем на 3-5 %%. Косвенно об этом можно судить из таких данных:

Я сохранил карты Irradiance Map для каждого драйвера и, как полагается, финальный рендер для ускорения визуализации делал активизируя эти карты.

Получилось:

1)Open GL со своей же IrM - рендер занял 351,6 сек.

2)Open GL с IrM от Direct3D - за 367,6 сек.

3)Direct3D со своей IrM - потребовалось 344 сек.

4)Direct3D с IrM расчитанной с помощью Open GL - 351,6 сек.

Видно, что первый и четвёртый результаты совпадают. Картинка последнего результата также соответствует по качеству первому результату.

Как-нибудь повторю опыт с расчётом фотонной карты.

C Open GL картинка получается чётче и более реалистичной. Впрочем, для чистоты эксперимента следует увеличить число материалов и карт в сцене.

Вот полученные изображения, соответственно Ogl со своей IrM и D3d со своей IrM:

victoriaopengl6zb.jpgvictoriadirect3d2ks.jpg

Изменено пользователем georg
Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...