0

问题

我正在尝试将 Direct2D 内容绘制到 DirectDraw 表面(后缓冲区),这部分很好。问题是在 DirectDraw 表面(在现代 pc 上)上使用 GetDC() 的成本,它锁定并获取设备上下文,然后在 Direct2D 绘图发生之前将其用于与 Direct2D 的 BindDC()。GetDC 和 ReleaseDC 的成本如此之高,如果每帧完成一次,我将获得 15FPS 的感觉。

是否有更快或替代的方法来获取 DirectDraw 表面上的 Get/ReleaseDC() 或以某种方式对其进行缓存以避免无法承受的性能?

我在旧 DirectDraw 上构建的旧游戏的背景故事 ,源丢失,我正在尝试使用挂钩来升级图形 API。我最终希望将所有 directdraw API 调用移至 direct2d。

4

0 回答 0