DirectX - BackBuffer概念

时间:2012-11-01 08:50:37

标签: graphics directx gdi

我是DirectX的新手,在花了一些时间阅读文档后,我发现有两个视频缓冲区,FrontBuffer和BackBuffer。我正在执行POC以验证最快的屏幕捕获方法,而BackBuffer,根据一些消息来源可能会做到这一点。 (FrontBuffer访问对我来说太慢了)

但不幸的是,互联网上没有那么多好文章可以详细解释这个理论。如果有人回答的话,我也有一些问题也可以帮助别人。

  1. 后台缓冲区只是一个应用程序可以写入的表面吗?
  2. 后台缓冲区应用程序是否具体?即为每个DX应用程序分开后台缓冲区?
  3. 如果我正在运行一些使用DirectX在屏幕上显示某些数据的应用程序,我可以捕获其后备缓冲区吗? (根据FRAPS分析,DLL可以连接到应用程序来执行此操作。但是任何准则?)

1 个答案:

答案 0 :(得分:1)

  1. 是。根据您使用的DirectX版本,后台缓冲区是作为渲染目标创建的曲面或纹理。
  2. 是。每个应用程序都有自己的后端和前端缓冲区。应用程序甚至不限于使用一个后备缓冲区。相反,它可以使用三个或更多缓冲区或根本没有后备缓冲区。
  3. 好吧,我不是挂钩DirectX应用程序的专家,但这应该是可能的。基本上,您将使用在呈现缓冲区之前捕获缓冲区的方法替换Present方法。有关其他信息,请参阅here