我有一个我已经彻底优化的GDI 程序(使用GraphicsPath
,DrawLines
等进行了批次调用),但是在渲染方面仍然很慢(需要几秒钟才能绘制复杂的映射抗氧化)。
无法更快地使我的gdi 更快,所以我正在寻找替代方案。
我的下一个最轻巧的替代方案是什么(至少具有20倍的性能),用于屏幕上绘制线/圆形/矩形的抗脉冲,如果:
- 我需要与Windows XP的兼容性?
- 我不需要与Windows XP的兼容性?
我现在正在研究DirectDraw和Direct2D,但我什至还没有想出如何在屏幕上绘制基本形状。我也可能会考虑OpenGL,但是我不确定从哪里开始,因为我从未使用过。
direct2d几乎就像换入gdi 的交换,只是更快,更清洁。图形功能通过ID2D1RenderTarget
接口暴露。
与Direct2D不同,GDI 没有加速硬件,因此您应该注意到渲染速度的巨大提高。抗氧化图和α混合操作现在是包装的一部分。