на компьютере с Windows XP sp3 и нвидевской видюшкой (достаточной для работы, пишет (RenderCapability.Tier >> 16)==2), похоже не использует аппаратное ускорение, из-за этого всё дико тормозит (драйвера стоят последние).
как можно вообще понять почему не включается аппаратное ускорение?
Здравствуйте, Kulibin, Вы писали:
S>>А что именно тормозит? Конкретные программы или всё, включая примеры из студии? K>тормозит моя прога под XP. тоже самое на 7-ке и Vista работает быстро. K>Rendering Tier пишет 2 (и под XP) K>при отрисовке идёт сильная нагрузка на процессор, поэтому я сделал вывод что под XP не сработало аппаратное ускорение.
Прозрачность окна не используется?
Здравствуйте, Kulibin, Вы писали:
K>тормозит моя прога под XP. тоже самое на 7-ке и Vista работает быстро.
Что тормозит — профайлером|perf suite смотрели? Подробнее — http://windowsclient.net/wpf/perf/wpf-perf-tool.aspx
K>Rendering Tier пишет 2 (и под XP)
Это максимально возможный (на сейчас).
K>при отрисовке идёт сильная нагрузка на процессор, поэтому я сделал вывод что под XP не сработало аппаратное ускорение.
Либо вы используете что-то, что не ускоряется аппаратно под xp, либо тормоза где-то ещё.
убрал, комп с 2-я мониторами, на одном работает ускорение, на другом нет, но!!! такое ощущение что когда рисуется много треугольников(на самом деле их не так уж много) (может и другой критерий) так где ускорение есть вообще зависает, а там где нет, просто тормозит.
Здравствуйте, Kulibin, Вы писали:
K>убрал, комп с 2-я мониторами, на одном работает ускорение, на другом нет, но!!! такое ощущение что когда рисуется много треугольников(на самом деле их не так уж много) (может и другой критерий) так где ускорение есть вообще зависает, а там где нет, просто тормозит.
Так вот. Из того, что я знаю, аппаратный рендеринг до 4-го WPF не работал, если окно имело хотя-бы какую-то степень прозрачности. Далее, аппаратный рендеринг не используется, когда задействованы BitmapEffect-ы. Этих тоже нет?
Здравствуйте, Kulibin, Вы писали:
K>посмотрел идёт выделение выдеопамяти где-то 14 мегов а потом сразу 0 и так быстро меняется, причём тоже самое поведение не наблюдается на 7-ке и висте
Забавно. Похоже, кто-то что-то не закэшировал
Вы не на выделение памяти смотрите, а на usage breakdown и на элементы, что жрут больше всего ресурсов. Также неплохо бы поискать обычным профайлером узкие места.
Если тормозит в первую очередь ваше приложение — может, вы делаете что-то специфически экзотичное?
Или, если мы ещё не определились с конкретным источником проблем — почему вы думаете, что грабли именно в отсутствии аппаратного ускорения?
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:
MM>Так вот. Из того, что я знаю, аппаратный рендеринг до 4-го WPF не работал, если окно имело хотя-бы какую-то степень прозрачности. Далее, аппаратный рендеринг не используется, когда задействованы BitmapEffect-ы. Этих тоже нет?
прозрачность убрал, используется framework 4, битмам эфектов в 3-D сцене точно нет.
вообще что-то мне последнее время не нравится nvidea
поведение очень странное. ничего особенного не делается, только треугольники. вообще напрягает что на vista и 7-ке всё работает на ура, а вот с xp проблемма, а народ пересадить пока не вариант.
Здравствуйте, Kulibin, Вы писали:
K>вообще что-то мне последнее время не нравится nvidea
И на одном мониторе летает, перетаскиваете на второй — всё моментально тормозит? Либо дрова, либо я уже не знаю
Здравствуйте, 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 ускорение
сейчас сижу разбираюсь, методом тыка (может быть ей размер сетки слишком большой (ничего большого нет), может быть ещё что-то, размер текстур точно меньше аппаратного максимума в несколько раз)
Здравствуйте, 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>если всё-таки разберусь напишу.
Давайте!
Здравствуйте, Visor2004, Вы писали:
V>на всякий случай, надо чтоб не было не только в сцене, но и у родительских по отношению к сцене элементов.
Не на всякий, а безусловно так и надо. Всё визуальное дерево, идущее от элемента с BitmapEffect, будет рендериться софтварно.
поставил на эту же машину wmWare player и установил на него XP, запустил программу — ускорение работает однозначно ничего не тормозит, но наблюдаются визуальные глюки (в сцене несколько сеток, так вот некоторые сетки сдвинуты относительно нормального положения(иногда становятся нормально, но потом опять сдвигаются)), но уже хоть что-то.
Здравствуйте, MxMsk, Вы писали:
MM>Здравствуйте, Visor2004, Вы писали:
V>>на всякий случай, надо чтоб не было не только в сцене, но и у родительских по отношению к сцене элементов. MM>Не на всякий, а безусловно так и надо. Всё визуальное дерево, идущее от элемента с BitmapEffect, будет рендериться софтварно.
"На всякий случай" имелось ввиду, что если человек сам не догадается про это условие, исходя и вашего поста выше