GDI中的屏幕撕裂

时间:2014-05-19 17:26:44

标签: c++ visual-c++ mfc gdi tearing

我有一个C / C ++ MFC应用程序,其中从左到右的运动图像在窗口中显示StretchDIBits。屏幕撕裂发生在窗口中。

请理解我不是在谈论闪烁而是屏幕撕裂因为闪烁更像是整个屏幕闪烁而屏幕撕裂导致图像的某些散射部分在图像向右或向左移动时不同步,因此移动的垂直线暂时看起来在很短的时间内打破了。

起初,我认为StretchDIBits是原因,但将其更改为SetDIBitsToDevice根本没有帮助。所以我怀疑它的GDI和谷歌搜索supported my doubt

我看到了this article to fix the problem,但在我看来直接使用DirectX会更清晰。

所以在这一点上,我正在考虑使用DirectX或OpenGL来防止这种撕裂,但不确定这种方法是否有效或是否有更好的方法。所以我的问题是

  • 使用OpenGL或DirectX会解决这个问题吗?
  • 有没有比使用OpenGL和DirectX更好的方法?

任何线索都将受到赞赏。

为节省时间,请不要使用MFC,因为这是其中一项要求。

0 个答案:

没有答案