как ускорить GDI+?
От: PoM-PoM 40mm Россия  
Дата: 20.07.05 06:10
Оценка:
В общем сравнивал скорость работы GDI и GDI+ на паре карточек(MX400 и X600), рисуя разные фигуры как оконном контексте, так и на битмапе( который судя по филрейту иногда располагался в видеопямяти, иногда в обычной).

Заметил ряд малопонятных особенностей:

1) простые линии через GDI+ рисуются в 10-100 раз медленне чем через GDI.
2) если акселератор не поддерживает градиентную заливку, то FillRectangle c LinearGradientBrush (при выключенном сглаживании) работают в 2-3 раза медленне, чем GradientFill. но если акселератор это поддерживает (а X600 поддерживает) разрыв примерно 50-100 раз. То есть GDI+ для градиентов не испольует возможности карты
3) обычный эллипс в GDI быстрее в 2-5 раза.
4) включение антиалиасинга сильно тормозит GDI+, и я не нашел в DDI следов поддержки его для линий.

соответсвенно вопросы:

1) можно ли какими нибудь настройками приблизить GDI+ по скорости рисования обычных линий, эллипсов и градиентных прямоугольников к GDI?

2) не изменился ли интерфейс DDI от того что описан в январском MSDN?
Will give me piece of mind
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.