我一直在开发一个小应用程序,我一直在使用DirectX/3D在屏幕上绘制纹理(所有的二维元素)。我发现,这个API非常容易使用,并且可以结合使用OOP原则,但我不禁觉得,在这么小的东西上使用DirectX是疯狂的过度杀戮。
不过,我似乎无法就一个好的选择达成共识。有什么建议吗?
编辑:本机α混合和PNG文件支持是必要的。
带着第一次的爱,詹格
发布于 2010-09-01 18:59:20
如果您需要alpha混合,您必须使用图形硬件;唯一的好方法是使用类似于您现在所使用的3D API (DirectX或OpenGL)。任何选择(GDI/+或者说,DirectDraw)都不会使用完整的图形硬件来加速混合,而是必须在CPU上执行它,从而大大降低性能。
如前所述,Direct2D也是一个选项--它在功能上是Direct3D之上的一个层,它支持更多特定于2D的功能以及优秀的文本支持。
发布于 2010-09-01 18:55:48
如果不需要XP支持,请使用Direct2D。
否则,使用GDI+。
发布于 2010-09-01 18:58:06
窗口包括一个开箱即出的窗口。(GDI32.DLL)。可以连接到WM_PAINT调用中的WindowProc消息,并使用BeginPaint()开始绘图。一个非常好的想法,什么是可以做的和一个基本的教程是可用的齐特码。
https://stackoverflow.com/questions/3621197
复制相似问题