如何为 Remote Desktop/ANGLE 优化我的 OpenGL 纹理?

How do I optimize my OpenGL textures for Remote Desktop/ANGLE?

我使用 Qt 在 OpenGL 中显示 2D 纹理。 不幸的是,我发现我需要通过远程桌面支持 运行 我的应用程序到 Windows 7 PC。在这种情况下,我需要使用 OpenGL ES 2.0 API (ANGLE)。 由于带宽低,我的 2D 可视化似乎滞后。

我的纹理可能比屏幕分辨率高,因此需要缩小它。 当不使用远程桌面时,我的方法是指定非常详细的纹理并让显卡进行缩小。

但是现在我认为 OpenGL 调用是在本地软件中执行的,而不是在远程计算机上执行的?在这种情况下,纹理必须通过 TCP/IP?

传输

这是否意味着我应该在使用纹理之前自己进行缩小? 作为示例,我可以在 C++ 中合并 2x2 像素并上传 1024x1024 纹理,而不是使用 2048x2048 纹理。

或者我可以使用 glGenerateMipmap?

我觉得这里有多个术语很混乱:RDP 只是为您传输整个远程桌面,无论上面有什么,所以没有“OpenGL 调用在本地软件中执行”。因此,不幸的是,即使您完全删除它(尝试一下),如果您减小应用程序中的纹理大小也无济于事。 RDP 不太适合实时动画。

您的应用程序最好 运行 在用户计算机上本地运行,因此最好考虑如何将您的 OGL 应用程序分发给用户。 如果你不能在用户机器上安装你的应用程序,或者给他们安装工具包,那么 也许将您的应用程序转换为浏览器应用程序是更好的选择。

WebGL 正是为这类应用而生的,也是一个标准: https://www.khronos.org/webgl/