Низкая производительность WPF на интегрированной графике GMA 500 - PullRequest
12 голосов
/ 28 января 2011

Моя команда разрабатывает приложения WPF для развертывания на аппаратной платформе нетбука Intel Atom Z530.Intel Atom Z530 поставляется с интегрированной графикой Intel GMA 500 с ядром графического процессора PowerVR SGX 535.Ядро PowerVR SGX 535 - это именно то графическое ядро, которое используется в чипсете Apple A4 для iPad.

Мой вопрос: почему WPF так медленно работает с графикой PowerVR SGX 535?аппаратное ускорение отключено для нашего приложения WPF, чтобы повысить производительность (переходы между экранами, переходы диалогов, взаимодействие с 2D-графикой).Стек технологий iPad способен достичь гораздо лучшей производительности пользовательского интерфейса с тем же аппаратным графическим ядром.

Спасибо за любые идеи!

Ответы [ 3 ]

2 голосов
/ 02 февраля 2011

Работаете ли вы .Net 4 в Windows Embedded Standard 7?Я обнаружил, что WPF работает намного лучше в Windows 7, чем XP.

Какие у вас проблемы с производительностью?

Если это анимация, попробуйте использовать кэшированную композицию (особенность .Net 4) для ее применения.BitmapCache для любого фона, который вы можете анимировать.Кроме того, не забудьте поделиться и заморозить все кисти, которые вы используете.

Если это диаграмма, перейдите к DrawingVisuals вместо использования Shapes или других конструкций более высокого уровня.Вы также можете использовать GDI + для рисования в WriteableBitmaps в качестве крайней меры.

Кроме того, двухъядерные Atoms также обеспечат значительно более плавный интерфейс WPF в моем опыте.Попробуйте Atom D510 или D525, если это возможно.Они потребляют гораздо больше энергии и выделяют больше тепла, но улучшение пользовательского опыта стоило того для моего продукта.

И имейте в виду, что приложения для iOS являются нативным кодом.WPF обеспечивает гораздо более высокий уровень абстракции и намного более быструю разработку за счет в целом более низкой производительности, особенно когда аппаратные ресурсы ограничены.

2 голосов
/ 22 марта 2011

Я обнаружил, что все чипсеты GMA на XP имеют ужасную производительность WPF.Не только низкая частота кадров, но и ужасные графические сбои и искажения.Поверхности станут прозрачными, видеоповерхности станут искаженным беспорядком, наложения мыши станут глючными.

Наше решение было отключить аппаратное ускорение с помощью исправления реестра, которое мы предлагаем клиентам, у которых есть проблемы.

1 голос
/ 29 января 2011

Я почти уверен, что процессоры Atom с этой графикой даже не рассматривались, когда WPF находился на стадии разработки и первых этапов реализации. WPF разрабатывался более пяти лет назад, задолго до появления графики GMA 500.

Вы можете добиться лучших результатов со стеком Silverlight 4, который, безусловно, был разработан для легких сред. Многое из того, что возможно в WPF, похоже или идентично в Silverlight. Если вы не используете трехмерную графику WPF или какие-либо другие функции, вы, по крайней мере, сможете получить простой порт XAML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...