如何优化绘图例程以在Windows CE中实现最大刷新率?

时间:2010-12-24 06:01:47

标签: c++ winapi graphics mfc windows-ce

在我的应用程序中,我绘制了一些线条(如垂直图形),刷新率将在一秒钟左右。我已经计算了性能并且绘制完整的线需要400毫秒,但这不够快,因为我们必须每34毫秒刷新一次屏幕。

我正在吸取CDC。

我们将使用400 MHz处理器的Windows CE设备。绘图涉及视图DC上的MoveToLineToFillRect等简单的MFC API:

CDC* pDC = GetDC(); //draw vertical line from one end of screen to the other 
pDC->MoveTo(some xy Cordinates);
pDC->LineTo(some xy Points);

我们如何优化绘图程序?请提出任何建议。

1 个答案:

答案 0 :(得分:1)

自Windows Vista起,GDI操作(BitBlt除外)不再是硬件加速,而是用软件完成。

要获得所需的性能,您可能需要使用Direct3D或OpenGl。

尽管this msdn document意味着,自从NT 6.1以来,GDI的hw加速回到了桌面上。我仍然期望OpenGL和D3D提供的基于矢量的API应该更加可靠--GDI线条绘制不是驱动程序编写者努力优化的。


作为目标,在回应更新时,Windows CE显然已经在Windows CE上提供了Direct X,因为至少CE 2.1

我仍然认为GDI在CE上没有特别加速;如果有任何hw支持,DirectX将是访问它的方式。