我正在尝试用 C++ 开发远程 OpenGL 渲染工具。基本思想是:
我知道如果我还没有成品,我不应该开始担心优化,但我很确定这会很慢,瓶颈可能是网络上的单帧传输,即使这些计算机连接在同一个 LAN 中。
我正在考虑使用某种视频流媒体库。这样,帧将使用适当的压缩算法传输,从而使过程更快。
我在正确的道路上吗?在这里使用视频流媒体库合适吗?如果您这么认为,那么适合这项任务的好的库是什么(C 或 C++,最好是 C++)?
谢谢您的帮助!
最佳答案
你有两个解决方案。
解决方案1
-> 复杂,尤其是在处理缓冲区和纹理时;真正的openGL 代码是在本地执行的,这可能不是您想要的,但这取决于您。更重要的是,它对远程应用程序是透明的(无需修改源代码,无需重建)。几乎没有网络通信。
解决方案 2:您所描述的,有利有弊。
如果您选择解决方案 2,请暂时不要担心速度。相信我,使用 openGL 将面临足够多的挑战。
从同步模式开始:渲染、获取、发送、渲染、获取、发送
然后是异步模式:渲染、开始提取、渲染、提取结束、开始发送、渲染等
我想这已经够难了
关于c++ - OpenGL实时渲染传输,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3522952/