本节主要介绍云端应用如何支持自适应分辨率。当业务需要适配不同用户客户端的分辨率,实现画面全屏无黑边时,可以使用自适应分辨率的能力。
时序图
步骤说明
推荐方式
1. 前置条件:
1.1 在上传应用至云渲染平台前,将应用设置为无边框全屏模式并开启自适应桌面分辨率。
注意:
这步操作需要在应用层面完成。
UE 应用可以参考下面一段蓝图加到 Map 的 BeginPlay 里面开启自适应桌面分辨率。其中 In Fullscreen Mode 应该配置为 Windowed Fullscreen(窗口化全屏)。
Unity 应用可以参考下图配置为全屏模式。
或者增加应用启动参数 -screen-fullscreen 1,Unity 应用参数参考 文档。 有些应用可以在设置中调整显示模式,将调整后生成的配置文件一同打包上传至控制台即可。
应用独占全屏不属于无边框模式。云渲染的自适应分辨率功能是通过修改云端桌面分辨率来实现的。然而,应用独占全屏时,显示器分辨率是由应用控制的,此时强行修改桌面分辨率可能导致应用崩溃。
如何区分无边框全屏和独占全屏?无边框全屏应用按 Alt+Tab 切换窗口不会导致显示器闪烁,独占全屏应用切换会有闪烁的现象。
1.2 在控制台进行 应用配置 时,将画面捕捉模式设置为捕捉整个桌面。 2. 业务客户端调用 TCGSDK.start() 接口启动云渲染应用,SDK 完成应用连接后会触发回调 onConnectSuccess(),建议业务客户端在这之后设置分辨率。 5. 云端并发实例收到设置分辨率请求后,会自动修改云端桌面分辨率,云端应用根据桌面分辨率变化自适应修改。
6. 业务客户端可以在回调 onRemoteScreenResolutionChange() 接口中获取分辨率设置是否生效。
若应用仅为非全屏窗口,如何适配不同用户客户端的分辨率?(不推荐)
如您的应用只有非全屏窗口模式,无法调整为无边框全屏模式,可以在控制台 应用配置 中将画面捕捉模式设置为仅捕捉应用窗口。您需要 根据文档指引,填写正确的应用窗口名称和类名。当开发过程中未自定义窗口标题时,Demo.exe 启动后的窗口名称一般为 Demo;如您的应用是 UE 应用,类名一般为 UnrealWindow。 后续步骤:
1. 业务客户端调用 TCGSDK.start() 接口启动云渲染应用,SDK 完成应用连接后会触发回调 onConnectSuccess(),建议业务客户端在这之后设置分辨率。 3. 业务客户端通过 数据通道 或其他自定义方式通知云端应用修改分辨率。 4. 云端应用收到设置分辨率请求后,修改自身分辨率。(该逻辑需要应用本身支持)
5. 由于应用分辨率在变化,为避免应用分辨率超过云端桌面分辨率所导致的画面不全、部分画面无法响应等问题,需要确保云端桌面分辨率始终大于应用分辨率。为此,您可以:
方式一:在控制台项目配置 > 高级配置中,将云端桌面默认分辨率调整到足够的大小,如2500x2500。
注意:
以上方式较为复杂,若配置不当可能导致画面不全、部分画面无法响应、客户端画面分辨率失常等问题,因此建议您选择 推荐方式,将应用设置为无边框全屏模式并开启自适应桌面分辨率。
本页内容是否解决了您的问题?