Автор |
Сообщение |
AlexRock Гуру |
|
С одной стороны, в настройках Windows есть флажок "Аппаратное ускорение" и бегунок для него, что вроде бы означает, что прорисовка интерфейса должна быть сделана с помощью видеокарты, а не процессора (софтовый рендеринг). С другой, для того же WPF особенность прорисовки всего интерфейса с помощью видеокарты (т. е. на аппаратном уровне) является одной из главных.
Так вот вопрос: если нет разницы, то чего шум поднимать? А ещё важнее: действительно ли настройка "полное ускорение" в "Аппаратном ускорении" в Windows при прорисовке интерфейса, написанного на Windows Forms (кто не знает - интерфейс Windows XP и более ранних ОС семейства Windows), означает ПОЛНОСТЬЮ аппаратный рендеринг интерфейса? |
|
|
|
|
alexey_d Форумчанин |
|
Там черт ногу сломает Аппаратное ускорение существует очень давно. Обычаня отрисовка средствами GDI имеет аппаратное ускорение (WinForms отрисовывается, по-моему, через GDI). Но из-за введения новых плюшек и красивостей в интерфейсе винды этот способ становится все более тормозным. (Например, http://www.thg.ru/graphic/2d_acceleration_windows_2/index.html и комментарии к ней.) Поэтому изобрели новое аппаратное ускорение через DirectX, которое связано с появлением интерфейса Aero. В современных условиях, вроде бы, лучше использовать WPF, но для этого требуется современная видеокарта. И, возможно, винда с наличием Aero.
ИМХО, если необходимо просто создать интерфейс с кнопочками, без разницы на чем писать. А если требуется приложение с тяжелой отрисовкой (типа Corel Draw, где даже для небольшой картинки может отрисовываться тысячи кривых), то тут поможет только реальное сравнение скорости рисования через различные библиотеки. |
|
|
|
|
AlexRock Гуру |
|
alexey_d
Спасибо.
Сейчас попробовал запустить свою программу на WPF с анимацией деформаций большого изображения (на весь экран) - со включенным Аэро всё тормозило явно, когда картинка растягивалась на весь экран и динамически демормировалась, чем когда Аэро был отключен. У меня GeForce 8400 GS.
Кстати, всё таки до сих пор низкая производительность WPF даже при простых эффектах (трёхмерный прямоугольник из двух полигонов, с текстурой на 2 мегабайта, крутящийся на экране на манер заставки трёхмерных часов в Windows, даже близко не выдаёт 60 кадров в секунду, которые WPF должна обеспечивать). Почему-то на моём компьютере Doom 3 идёт на полных настройках без тормозов, а вот такое простое вращение, как я выше описал, жутко тормозит. А ведь Дум 3 на порядки покруче будет, чем моя жалкая поделка. Правда, моя крутящаяся текстура прорисовывается поверх интерйеса Windows в прозрачном окне, а не в полноэкранном режиме - не знаю, как это должно влиять на производительность.
И вот ещё один повод, как следует из статьи, не брать топовых видеокарт - одно-двухлетняя выдержка идёт им только на пользу. )) А то производители разнообразного железа уже давно последнюю стадию бета-тестирования в производственном процессе перенесли на пользователей и за их же деньги. |
|
|
|
|
|
Аватары: Вкл|Выкл ЮзерИнфо: Вкл|Выкл Подписи: Вкл|Выкл
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы
|
|