wpf 3D производительность
От: Kulibin  
Дата: 13.01.11 11:42
Оценка:
на компьютере с Windows XP sp3 и нвидевской видюшкой (достаточной для работы, пишет (RenderCapability.Tier >> 16)==2), похоже не использует аппаратное ускорение, из-за этого всё дико тормозит (драйвера стоят последние).

как можно вообще понять почему не включается аппаратное ускорение?
Re: wpf 3D производительность
От: Sinix  
Дата: 13.01.11 11:53
Оценка:
Здравствуйте, Kulibin, Вы писали:

K>на компьютере с Windows XP sp3 и нвидевской видюшкой (достаточной для работы, пишет (RenderCapability.Tier >> 16)==2), похоже не использует аппаратное ускорение, из-за этого всё дико тормозит (драйвера стоят последние).


K>как можно вообще понять почему не включается аппаратное ускорение?

http://stackoverflow.com/questions/149763/how-do-you-determine-if-wpf-is-using-hardware-or-software-rendering
http://msdn.microsoft.com/en-us/library/ms742196.aspx

А что именно тормозит? Конкретные программы или всё, включая примеры из студии?
Re[2]: wpf 3D производительность
От: Kulibin  
Дата: 13.01.11 12:16
Оценка:
S>А что именно тормозит? Конкретные программы или всё, включая примеры из студии?

тормозит моя прога под XP. тоже самое на 7-ке и Vista работает быстро.

Rendering Tier пишет 2 (и под XP)

при отрисовке идёт сильная нагрузка на процессор, поэтому я сделал вывод что под XP не сработало аппаратное ускорение.
Re[3]: wpf 3D производительность
От: MxMsk Португалия  
Дата: 13.01.11 12:23
Оценка:
Здравствуйте, Kulibin, Вы писали:

S>>А что именно тормозит? Конкретные программы или всё, включая примеры из студии?

K>тормозит моя прога под XP. тоже самое на 7-ке и Vista работает быстро.
K>Rendering Tier пишет 2 (и под XP)
K>при отрисовке идёт сильная нагрузка на процессор, поэтому я сделал вывод что под XP не сработало аппаратное ускорение.
Прозрачность окна не используется?
Re[3]: wpf 3D производительность
От: Sinix  
Дата: 13.01.11 12:25
Оценка:
Здравствуйте, Kulibin, Вы писали:

K>тормозит моя прога под XP. тоже самое на 7-ке и Vista работает быстро.

Что тормозит — профайлером|perf suite смотрели? Подробнее — http://windowsclient.net/wpf/perf/wpf-perf-tool.aspx

K>Rendering Tier пишет 2 (и под XP)

Это максимально возможный (на сейчас).

K>при отрисовке идёт сильная нагрузка на процессор, поэтому я сделал вывод что под XP не сработало аппаратное ускорение.

Либо вы используете что-то, что не ускоряется аппаратно под xp, либо тормоза где-то ещё.
Re[4]: wpf 3D производительность
От: Kulibin  
Дата: 13.01.11 13:36
Оценка:
MM>Прозрачность окна не используется?

убрал, комп с 2-я мониторами, на одном работает ускорение, на другом нет, но!!! такое ощущение что когда рисуется много треугольников(на самом деле их не так уж много) (может и другой критерий) так где ускорение есть вообще зависает, а там где нет, просто тормозит.
Re[4]: wpf 3D производительность
От: Kulibin  
Дата: 13.01.11 14:02
Оценка:
S>Что тормозит — профайлером|perf suite смотрели? Подробнее — http://windowsclient.net/wpf/perf/wpf-perf-tool.aspx

посмотрел идёт выделение выдеопамяти где-то 14 мегов а потом сразу 0 и так быстро меняется, причём тоже самое поведение не наблюдается на 7-ке и висте
Re[5]: wpf 3D производительность
От: MxMsk Португалия  
Дата: 13.01.11 14:18
Оценка:
Здравствуйте, Kulibin, Вы писали:

K>убрал, комп с 2-я мониторами, на одном работает ускорение, на другом нет, но!!! такое ощущение что когда рисуется много треугольников(на самом деле их не так уж много) (может и другой критерий) так где ускорение есть вообще зависает, а там где нет, просто тормозит.

Так вот. Из того, что я знаю, аппаратный рендеринг до 4-го WPF не работал, если окно имело хотя-бы какую-то степень прозрачности. Далее, аппаратный рендеринг не используется, когда задействованы BitmapEffect-ы. Этих тоже нет?
Re[5]: wpf 3D производительность
От: Sinix  
Дата: 13.01.11 14:30
Оценка:
Здравствуйте, Kulibin, Вы писали:

K>посмотрел идёт выделение выдеопамяти где-то 14 мегов а потом сразу 0 и так быстро меняется, причём тоже самое поведение не наблюдается на 7-ке и висте

Забавно. Похоже, кто-то что-то не закэшировал

Вы не на выделение памяти смотрите, а на usage breakdown и на элементы, что жрут больше всего ресурсов. Также неплохо бы поискать обычным профайлером узкие места.

Если тормозит в первую очередь ваше приложение — может, вы делаете что-то специфически экзотичное?
Или, если мы ещё не определились с конкретным источником проблем — почему вы думаете, что грабли именно в отсутствии аппаратного ускорения?

Может, у вас используются layered windows?

On operating systems that support Windows Display Driver Model (WDDM), such as Windows Vista and Windows 7, layered windows are hardware accelerated. On other systems, such as Windows XP, layered windows are rendered by software with no hardware acceleration. You can enable layered windows in WPF by setting the following Window properties:

— WindowStyle = None
— AllowsTransparency = true
— Background = Transparent


Так гадать до бесконечности можно — давайте подсказки
Re[6]: wpf 3D производительность
От: Kulibin  
Дата: 14.01.11 06:16
Оценка:
MM>Так вот. Из того, что я знаю, аппаратный рендеринг до 4-го WPF не работал, если окно имело хотя-бы какую-то степень прозрачности. Далее, аппаратный рендеринг не используется, когда задействованы BitmapEffect-ы. Этих тоже нет?

прозрачность убрал, используется framework 4, битмам эфектов в 3-D сцене точно нет.
Re[5]: wpf 3D производительность
От: Sinix  
Дата: 14.01.11 06:19
Оценка:
Здравствуйте, Kulibin, Вы писали:

K>убрал, комп с 2-я мониторами, на одном работает ускорение, на другом нет

Это как? 2 видеокарточки?
Re[6]: wpf 3D производительность
От: Kulibin  
Дата: 14.01.11 07:11
Оценка:
S>Это как? 2 видеокарточки?
карточка 1-на

вообще что-то мне последнее время не нравится nvidea

поведение очень странное. ничего особенного не делается, только треугольники. вообще напрягает что на vista и 7-ке всё работает на ура, а вот с xp проблемма, а народ пересадить пока не вариант.
Re[7]: wpf 3D производительность
От: Sinix  
Дата: 14.01.11 07:24
Оценка:
Здравствуйте, Kulibin, Вы писали:

K>вообще что-то мне последнее время не нравится nvidea

И на одном мониторе летает, перетаскиваете на второй — всё моментально тормозит? Либо дрова, либо я уже не знаю

Ещё нагуглилось:
http://blogs.msdn.com/b/karstenj/archive/2006/10/16/wpf-3d-performance-troubleshooting.aspx
http://blogs.msdn.com/b/wpfsdk/archive/2007/01/15/maximizing-wpf-3d-performance-on-tier-2-hardware.aspx

K>только треугольники.

Вы имеете в виду 3d-модель? И она тормозит при вращении/ресайзе окна?
Какая видюха, что говорит wpf perf tools?
Заканчивайте играть в партизанов — все детали клещами вытаскивать приходится.
Re[8]: wpf 3D производительность
От: Kulibin  
Дата: 14.01.11 08:11
Оценка: 13 (2)
Здравствуйте, Sinix, Вы писали:
S>И на одном мониторе летает, перетаскиваете на второй — всё моментально тормозит? Либо дрова, либо я уже не знаю

были варианты 7300 (1-н монитор, вообще ни как не заставил работать), 8600 (2-а монитора, вообще ведёт странно перетаскиваешь работает/не работает)

S>Вы имеете в виду 3d-модель? И она тормозит при вращении/ресайзе окна?

S>Какая видюха, что говорит wpf perf tools?
S>Заканчивайте играть в партизанов — все детали клещами вытаскивать приходится.

тормозит при любых изменениях(явно видно что используется проц, нагрузка возрастает до максимума)
видюха nvidia 8600 515mb,
в модели содержит простейший источник света и DiffuseMaterial (обычный цвет или текстура (их мало, вообще выключал не помогает))

на том же компе поставили ati так заработало, но это не выход, не могу же я привязаться к производителю.

в wpf perf tools работает только perforator, visual profiler ничего не отображает , непонятное поведение видео памяти (14/0 туда-сюда прыгает и висит)

dxdiag показывает что работает 3d ускорение

сейчас сижу разбираюсь, методом тыка (может быть ей размер сетки слишком большой (ничего большого нет), может быть ещё что-то, размер текстур точно меньше аппаратного максимума в несколько раз)

если всё-таки разберусь напишу.
Re[9]: wpf 3D производительность
От: Sinix  
Дата: 14.01.11 08:24
Оценка: 4 (1)
Здравствуйте, Kulibin, Вы писали:

K>на том же компе поставили ati так заработало, но это не выход, не могу же я привязаться к производителю.

Советую проверить на другой машине с другой nVidia-карточкой, чтобы отсеять локальные проблемы. Если подтвердится, что проблема в дровах — писать в http://social.msdn.microsoft.com/forums/en-US/wpf/threads/
Только приготовьте им сампл. Ещё можно написать в nvidia support, но лучше чтобы их пнули напрямую из МС.

K>в wpf perf tools работает только perforator, visual profiler ничего не отображает , непонятное поведение видео памяти (14/0 туда-сюда прыгает и висит)

А, забыл — это баг. Патч — по ссылке.

K>сейчас сижу разбираюсь, методом тыка (может быть ей размер сетки слишком большой (ничего большого нет), может быть ещё что-то, размер текстур точно меньше аппаратного максимума в несколько раз)

А Viewport3D.ClipToBounds = false и хиттестинг вырубить пробовали?

K>если всё-таки разберусь напишу.

Давайте!

Удачи!
Re[7]: wpf 3D производительность
От: Visor2004  
Дата: 14.01.11 10:50
Оценка: +1
Здравствуйте, Kulibin, Вы писали:

на всякий случай, надо чтоб не было не только в сцене, но и у родительских по отношению к сцене элементов.
Помните!!! ваш говнокод кому-то предстоит разгребать.
Re[8]: wpf 3D производительность
От: MxMsk Португалия  
Дата: 14.01.11 11:10
Оценка: +1
Здравствуйте, Visor2004, Вы писали:

V>на всякий случай, надо чтоб не было не только в сцене, но и у родительских по отношению к сцене элементов.

Не на всякий, а безусловно так и надо. Всё визуальное дерево, идущее от элемента с BitmapEffect, будет рендериться софтварно.
Re[10]: wpf 3D производительность
От: Kulibin  
Дата: 14.01.11 12:37
Оценка:
Здравствуйте, Sinix, Вы писали:
S>А Viewport3D.ClipToBounds = false и хиттестинг вырубить пробовали?

изначально так и стояло.
Re: wpf 3D производительность
От: Kulibin  
Дата: 14.01.11 12:39
Оценка:
поставил на эту же машину wmWare player и установил на него XP, запустил программу — ускорение работает однозначно ничего не тормозит, но наблюдаются визуальные глюки (в сцене несколько сеток, так вот некоторые сетки сдвинуты относительно нормального положения(иногда становятся нормально, но потом опять сдвигаются)), но уже хоть что-то.
Re[9]: wpf 3D производительность
От: Visor2004  
Дата: 14.01.11 12:53
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM>Здравствуйте, Visor2004, Вы писали:


V>>на всякий случай, надо чтоб не было не только в сцене, но и у родительских по отношению к сцене элементов.

MM>Не на всякий, а безусловно так и надо. Всё визуальное дерево, идущее от элемента с BitmapEffect, будет рендериться софтварно.

"На всякий случай" имелось ввиду, что если человек сам не догадается про это условие, исходя и вашего поста выше
Помните!!! ваш говнокод кому-то предстоит разгребать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.