首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将OpenGL呈现的场景从云流到远程客户端

如何将OpenGL呈现的场景从云流到远程客户端
EN

Stack Overflow用户
提问于 2020-04-01 16:25:05
回答 1查看 926关注 0票数 0

所以我有一个桌面应用程序,用OpenGL渲染3D大数据集。我想把它移到云端,并使用服务器端呈现,以便将呈现的图像流到远程客户端(JS等)。据我所知,WebRTC是实现这一目标的最佳方法。然而,它的复杂和昂贵的实现,主要是针对视频会议的应用。是否有更适合于3D图形流的框架/开源?Nvidia的GameStreaming是一种适合探索的技术,还是专门为游戏量身定做的?还有其他的想法和方法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-04-02 12:21:28

有许多想法和方法,哪一种最有效取决于您的特定应用程序、预算、客户端和服务器。

如果您在服务器端呈现,最大的优势是您控制GPU、可用内存、操作系统和驱动程序版本等,因此跨平台或OS版本的问题基本上消失了。

但是现在你要把每个帧像素一个像素地发送给用户。(当压缩可视化而不是视频时,MPEG-4并不是很好。)

在每次击键、鼠标点击或鼠标移动时,都会出现网络延迟。

如果是十块呢?几百人?上千人?如果有人想同时使用你的应用程序,你必须有足够的服务器端CPU/GPU来处理这么多的用户。

所以,不管你选择什么,实现起来都是复杂而昂贵的。除了WebRTC,您还可以查看屏幕共享软件,如VNC。Nvidia游戏流可能是一种更适合探索的技术,因为3D游戏和3D可视化之间有很多相似之处,但不要指望它是一颗神奇的子弹。

你看过WebGL吗?这是略为削减EGL版本的OpenGL for JavaScript。如果您不大量使用高级的OpenGL 4功能,那么很多OpenGL C/C++代码就可以轻松地转换成JavaScript和WebGL。而且地球上几乎所有的浏览器都运行WebGL,即使(像苹果一样)平台制造商不鼓励普通的OpenGL。最大的优点是所有的呈现和交互都发生在客户机上,所以延迟不是一个问题,如果很多人想同时运行CPU/GPU,那么就不用付费了。

希望这能有所帮助。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60975661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档