有一个有趣的浏览器框架叫做Awesomium,它基本上是 Chromium 浏览器引擎的一个包装器。
我有兴趣使用它为桌面重新分发基于 WebGL 的游戏。然而,Awesomium 仅支持使用发送到 CPU 的像素缓冲区进行渲染,即使 WebGL 上下文本身是基于真正的硬件加速 OpenGL 上下文。这对于实时高性能游戏来说效率低下,并且可能会杀死低端机器上的帧率。
Awesomium 最终可能会解决这个问题,但它让我思考:是否可以在进程中搜索屏幕外 OpenGL 上下文并将其直接渲染到窗口?这将避免低效的渲染方法,完全在 GPU 上进行渲染。我在 Windows 上使用本机 C++ 应用程序,所以大概这将涉及 WGL 细节。此外,由于 Chromium 是一个多线程浏览器引擎,它可能涉及在不同的线程上查找 OpenGL 上下文或在不同的进程中查找事件。可能吗?