hellocatfood Asked: 2011-01-14 06:13:46 +0800 CST2011-01-14 06:13:46 +0800 CST 2011-01-14 06:13:46 +0800 CST 如何截取当前 vram 中的内容? 772 我是一位专注于故障和错误的艺术家,我目前正在尝试找到一种方法来创建这样的图像,这些图像是通过截取当前 vram 中的内容来制作的。是否可以在 Linux/Ubuntu 中执行此操作?如果是这样,怎么做? screenshot 2 个回答 Voted Best Answer johanvdw 2011-08-25T07:32:47+08:002011-08-25T07:32:47+08:00 转储 VRAM 内容不应该从用户空间工作。它需要内核驱动程序的支持。如果幸运的话,您的驱动程序可能包含转储内存的触发器,但它们可能只有在您编译某些调试选项时才可用。 JPL 2011-01-14T14:35:33+08:002011-01-14T14:35:33+08:00 我注意到我的机器上有一个有趣的故障,它产生了美观的故障艺术效果,尽管它不像原始 VRAM 捕获那样直接或有用。 我使用 gnome-mplayer - 尽管任何 mplayer 派生的软件都应该这样做 - 与 vdpau 硬件加速视频输出模块一起用于(相对较新的)nvidia 图形硬件。我必须从 10.04 的 PPA 中获得支持 vdpau 的 mplayer 版本,但我认为它在 10.10 中开箱即用。 当您在视频暂停的情况下进入或离开全屏时会出现故障。窗口将充满美妙的垃圾,最近在视频内存中的随机部分:视频,UI 部分,3D 图形,如果你在玩游戏的话。无论大小,它都会被倾倒到窗口中。 一旦开始播放视频,它就会消失,因为窗口的内容会不断刷新。但我已经截取了几张截图,说明它什么时候做一些特别有趣的事情。 我不是图形编程方面的专家,但是编写一个(错误)使用指针从视频内存中获取一堆垃圾然后将其渲染到屏幕或磁盘上的图像的 OpenGL 程序似乎很简单. 如果你愿意,我可以挖掘一些我回家后捕捉到的例子。
转储 VRAM 内容不应该从用户空间工作。它需要内核驱动程序的支持。如果幸运的话,您的驱动程序可能包含转储内存的触发器,但它们可能只有在您编译某些调试选项时才可用。
我注意到我的机器上有一个有趣的故障,它产生了美观的故障艺术效果,尽管它不像原始 VRAM 捕获那样直接或有用。
我使用 gnome-mplayer - 尽管任何 mplayer 派生的软件都应该这样做 - 与 vdpau 硬件加速视频输出模块一起用于(相对较新的)nvidia 图形硬件。我必须从 10.04 的 PPA 中获得支持 vdpau 的 mplayer 版本,但我认为它在 10.10 中开箱即用。
当您在视频暂停的情况下进入或离开全屏时会出现故障。窗口将充满美妙的垃圾,最近在视频内存中的随机部分:视频,UI 部分,3D 图形,如果你在玩游戏的话。无论大小,它都会被倾倒到窗口中。
一旦开始播放视频,它就会消失,因为窗口的内容会不断刷新。但我已经截取了几张截图,说明它什么时候做一些特别有趣的事情。
我不是图形编程方面的专家,但是编写一个(错误)使用指针从视频内存中获取一堆垃圾然后将其渲染到屏幕或磁盘上的图像的 OpenGL 程序似乎很简单.
如果你愿意,我可以挖掘一些我回家后捕捉到的例子。