应用云渲染 自适应分辨率

云端应用如何支持自适应分辨率。当业务需要适配不同用户客户端的分辨率,实现画面全屏无黑边时,可以使用自适应分辨率的能力。

相关产品
应用云渲染 产品页,含版本规格、价格与购买入口。

一、推荐方式

1. 前置条件:

1.1 在上传应用至云渲染平台前,将应用设置为无边框全屏模式并开启自适应桌面分辨率。

注意:

注意:

注意:或者增加应用启动参数 -screen-fullscreen 1,Unity 应用参数参考 文档。

注意:

注意:

1.2 在控制台进行 应用配置 时,将画面捕捉模式设置为捕捉整个桌面。

2. 业务客户端调用 TCGSDK.start() 接口启动云渲染应用,SDK 完成应用连接后会触发回调 onConnectSuccess(),建议业务客户端在这之后设置分辨率。

3. 业务客户端调用 TCGSDK.getPageSize() 或者其他方式获取客户端分辨率。

4. 业务客户端调用 TCGSDK.setRemoteDesktopResolution() 接口设置云端分辨率。

5. 云端并发实例收到设置分辨率请求后,会自动修改云端桌面分辨率,云端应用根据桌面分辨率变化自适应修改。

6. 业务客户端可以在回调 onRemoteScreenResolutionChange() 接口中获取分辨率设置是否生效。

二、若应用仅为非全屏窗口,如何适配不同用户客户端的分辨率?(不推荐)

如你的应用只有非全屏窗口模式,无法调整为无边框全屏模式,可以在控制台 应用配置 中将画面捕捉模式设置为仅捕捉应用窗口。你需要 根据文档指引,填写正确的应用窗口名称和类名。当开发过程中未自定义窗口标题时,Demo.exe 启动后的窗口名称一般为 Demo;如你的应用是 UE 应用,类名一般为 UnrealWindow。

后续步骤:

1. 业务客户端调用 TCGSDK.start() 接口启动云渲染应用,SDK 完成应用连接后会触发回调 onConnectSuccess(),建议业务客户端在这之后设置分辨率。

2. 业务客户端调用 TCGSDK.getPageSize() 或者其他方式获取客户端分辨率。

3. 业务客户端通过 数据通道 或其他自定义方式通知云端应用修改分辨率。

4. 云端应用收到设置分辨率请求后,修改自身分辨率。(该逻辑需要应用本身支持)

5. 由于应用分辨率在变化,为避免应用分辨率超过云端桌面分辨率所导致的画面不全、部分画面无法响应等问题,需要确保云端桌面分辨率始终大于应用分辨率。为此,你可以:

·方式一:在控制台项目配置 > 高级配置中,将云端桌面默认分辨率调整到足够的大小,如2500×2500。

·方式二:同步调用 TCGSDK.setRemoteDesktopResolution() 接口修改云端桌面分辨率。业务客户端可以在回调 onRemoteScreenResolutionChange() 接口中获取桌面分辨率设置是否生效。

注意:以上方式较为复杂,若配置不当可能导致画面不全、部分画面无法响应、客户端画面分辨率失常等问题,因此建议你选择 推荐方式,将应用设置为无边框全屏模式并开启自适应桌面分辨率。

赞 (0)
上一篇 4天前
下一篇 4天前