gpt4 book ai didi

c++ - 我可以在进入 gpu 之前从视频游戏中记录图形数据吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:47:43 25 4
gpt4 key购买 nike

我想了解图形是如何处理的。程序是否有可能在将图形数据发送到 gpu 之前获取图形数据,记录它,将其发送到 gpu,从 gpu 获取处理后的结果并将其发送到请求进程的视频游戏?我不确定我是否解释清楚了,但我对这个顶部比较陌生,所以我很抱歉。

最佳答案

在这种情况下,不清楚您所说的“图形数据”是什么意思,所以我假设您指的是最终渲染的帧。

在那种情况下,答案是否定的。

帧缓冲区在 GPU 上生成(渲染)。在任何现代游戏中,CPU 上唯一的事情就是发送到视频驱动程序并转换为 GPU 理解的其他命令的绘图命令列表。除非渲染到纹理并将其复制回主机,否则 CPU 端没有图像。

关于你问题的第二部分:

“游戏请求进程”并没有真正从 GPU 获得太多反馈。显示器——监视器、HMD 或其他任何东西——显示驻留在 GPU 上的缓冲区的内容。游戏永远不会收到渲染的帧,除非它真的想要它并且经历了很多麻烦才能将其复制回主机。渲染在很大程度上是一个开环过程。除了一些错误和状态代码外,主机应用程序确实无法验证 GPU 上发生了什么(同样,无需渲染到屏幕外缓冲区并将该数据复制回 CPU)。

我会搜索“OpenGL 渲染管道”以更好地了解其工作原理。 (顺便说一下,DirectX 的工作方式相同。)

现在,如果您正在寻找的是更好地了解游戏中的渲染 API 调用如何影响屏幕上的最终输出,您可以查看一些工具,例如 RenderDoc,它可以让您看到效果在每个 API 调用的帧缓冲区(和其他渲染目标)上。解析您将在这些工具中看到的内容并非易事,除非您对所使用的 API 有一定的了解。

关于c++ - 我可以在进入 gpu 之前从视频游戏中记录图形数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55874311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com