Производительность GDI + (System.Windows.Forms, System.Drawing) и скиннинг - PullRequest
0 голосов
/ 17 января 2012

Я хотел бы создать приложение, основанное на формах Windows и использующее пользовательские скины.Большинство скинов являются растровыми изображениями, которые я разрезаю на 9 частей, поэтому я могу рисовать с помощью 9 Graphics.DrawImage () вызывает красивые скины для панелей / панелей.Проблема начинается, когда приложение становится больше похожим на другие приложения с обложками.Когда все сделано визуально, возникает проблема - производительность.У меня также есть скины оконных форм с панелью MDI Container с пользовательским фоновым изображением.Когда я перетаскиваю такую ​​форму, экран мигает, загромождается - как правило, происходит низкий FPS.

Что я могу сделать, чтобы написать приложение с скинами и окнами с быстрым графическим интерфейсом?(Я планирую не использовать WPF) Заранее спасибо за ответы.

1 Ответ

1 голос
/ 17 января 2012

Graphics.DrawImage () делает больше, чем просто рисует изображение, вы можете вместо этого использовать P / Invoke BitBlt, чтобы значительно повысить производительность.

См. Например http://www.codeproject.com/KB/GDI-plus/flicker_free.aspx

...