文章目录
一、用法
1. 启动程序
$ ./your-qt-quick-application -platform webgl:port=8998
其中端口自己定义
或者
使用一种跨平台的方式(讲究)来实现,在main.cpp中使用qputenv()方法
// ...
qputenv("QT_QPA_PLATFORM", "webgl:port=8998");
QGuiApplication app(argc, argv);
2. 浏览器中输入
127.0.0.1:8998
其中127.0.0.1 是your-qt-quick-application运行的主机地址,如果是本机,可以用127.0.0.1来代替
3. 效果
二、缺点
- 虽然WebGL steaming在本地网络中表现良好,但通过互联网使用它会导致显著的延迟; 即只适用于本地网络
- 连接未加密,因此不安全;
- 目前,一次只支持一个连接(也就是说只有一个用户),浏览器中一个page打开就相当于一个用户了
三、特性
- 应用程序本身不在 Web浏览器中运行。Web浏览器仅渲染其GUI;
- 它既不是视频流,也不是镜像。它是在Web浏览器中显示的“解耦”的应用程序的GUI;
- 由于它仅适用于OpenGL(ES),因此WebGL流不适用于Widgets或任何其他非OpenGL内容。
- WebGL streaming 的“零安装”概念 —— 您不必在客户端(台式机/平板电脑/智能手机/等)上安装/部署任何东西,因为唯一需要的只是一个Web浏览器
四、概念
WebGL steaming是一个QPA插件,它通过网络发送Qt Quick应用程序的OpenGL调用(“流式”),然后将这些调用转换为WebGL格式的调用,从而可以在HTML5 Canvas中渲染。这就让您可以在远程主机上运行应用程序,并在本地Web浏览器中呈现其GUI。