|
|
发表于 2009-6-22 12:57:00
|
显示全部楼层
Re: Re: Re:小弟新写的一些UI控件拿出来SHOW哈-超强扩展性的
bluebaby9811: Re: Re:小弟新写的一些UI控件拿出来SHOW哈-超强扩展性的UI引擎实例2
GDI虽然速度快,可是它不支持ALPHA溶合啊。我觉得微软虽然说GDI和GDI+都不支持硬件加速,是因为要推广...
GDI支持硬件加速,只有在Vista上不支持,在Vista之前之后都支持。GDI+从来没有硬件加速,微软声称今后也不会有。WPF是根据硬件情况可能有可能没有。
GDI有alpha混合,并且是可以硬件加速的alpha混合,参见
BOOL AlphaBlend(
HDC hdcDest, // handle to destination DC
int nXOriginDest, // x-coord of upper-left corner
int nYOriginDest, // y-coord of upper-left corner
int nWidthDest, // destination width
int nHeightDest, // destination height
HDC hdcSrc, // handle to source DC
int nXOriginSrc, // x-coord of upper-left corner
int nYOriginSrc, // y-coord of upper-left corner
int nWidthSrc, // source width
int nHeightSrc, // source height
BLENDFUNCTION blendFunction // alpha-blending function
);
GDI功能上比GDI+少很多不意味着不能比较速度。
不是说GDI+不好,而是说GDI+比较慢,毕竟纯软件渲染和硬件加速不在一个数量级,但做UI足够了,因为UI不需要那么高的刷新频率。
另外,WPF也不是100%硬件加速,它的高级效果很多也是纯软渲染,一但用到了这些不能加速的功能,就会非常非常的慢。
还有,WPF不是GDI、GDI+的替代品,它们不是同一类型的东西,目前官方声明的替代品是DX11里的Direct2D,具有GDI+的全部功能又有硬件加速的新API,不过目前这个API非常的ugly,完全是个底层的东西,缺乏GDI+那样的易用性。
你愿意相信什么是你的事,我只是陈述事实。 |
|