我的目标是创建一个环境来训练机器学习代理玩相对轻量级的计算机游戏(通过 Wine 运行,但这应该是无关紧要的)。
我想运行尽可能多的游戏实例,同时向它们发送模拟输入并捕获游戏在屏幕上显示的内容。
现在我已经尝试运行它们并使用python 绑定xvfb
捕获屏幕。xlib
这可行,我能够向游戏发送输入并捕获屏幕,但 xvfb 在 CPU 上进行渲染,这使得游戏运行速度慢得令人无法接受。
一种行为类似于 xvfb 但允许 Nvidia GPU 支持的方法将是完美的,但我找不到。
这些游戏不需要完全无头运行,但我需要能够在运行它们的同时使用计算机上的其他程序,因此它们需要在其他应用程序运行时运行并捕获屏幕。我使用的是 Ubuntu 18.04。