我们付出了大量努力来确保屏幕传输的高效性,如何在不牺牲高性能 PC(<10% 的 CPU 使用率)的情况下实现每秒 40-60 帧的传输。设备和 PC 上 GPU 的高效利用至关重要,任一方的 GPU 缺失都会显著降低镜像的速度。我们还拥有自主研发的压缩技术(SFC)来处理没有 GPU 的设备。我们将执行图像压缩(H.264 或自主开发的压缩算法),进行传输、解压缩和在 PC 上呈现。PC 必须处理多个设备。图像质量(质量 + 延迟)受许多因素的影响:每秒帧数、每帧的数据大小(分辨率、质量)、USB 传输速率、adb 传输速率、设备和 PC 的 CPU/GPU。我们提供许多参数进行调整。
分辨率
Lite 版本提供 640p 分辨率,Pro 版本提供 4 种分辨率,我们会保持宽高比,调整操作在设备上进行。例如,具有 4K 分辨率的设备对 PC 上的屏幕质量几乎没有影响,但 1080p 分辨率则有影响。1080p 将给设备和 PC 带来较大负担(生成和传输更多数据)。
设备加速
有 3 种加速方法:
- HA1:尽可能快速地进行传输,这在设备上完成。通常可以达到每秒 40-60 帧(FPS),适用于一般的设备和 PC。
- HA2:帧率限制为不超过 30 帧每秒,需要更多设备的 CPU/GPU 来手动调整和压缩屏幕图像。此模式适用于录制(打开录制时将切换到 HA2 模式),60 帧每秒的录制将创建巨大的 MP4 文件。
- 兼容性模式:此模式适用于不提供 GPU 或 H.264 压缩的设备 SoC。我们开发了自有的压缩技术,称为 SFC,该压缩技术在性能较慢的设备 CPU 上也可行。几乎所有最近的 SoC 都已提供 GPU(和 H.264),此模式适用于没有 GPU 的无头设备。SFC 利用设备和 PC 上的 CPU,在平均情况下,此模式可以实现 10-15 帧每秒。
图像质量
我们提供 3 种图像质量:低、中、高,通过调整 H.264 的比特率来实现,图像质量对静态图像没有影响(如果图像没有更新,设备将传输高质量的静态图像),但在动态图像中更为明显。
[高级] 设备编码设置
调整 H.264 编码配置文件以获得更高的图像质量,Android 要求基本配置文件,不是所有设备都支持其他配置文件。
[高级] 电脑加速
TC 被优化以利用 Intel i 系列 CPU/GPU,如果您有外部显卡,可以调整 DirectX 或 OpenGL 来获得更好的性能。通常,DirectX 已经足够好。
[高级] 硬件加速
对于 HA1 和 HA2,它将让 GPU 在一步中进行解压缩和呈现。如果未选中此模式,将会将解压缩(GPU)和呈现作为两个独立步骤进行(移动大量数据)。
[高级] Native 与 Projection
在 Android 12 之前,我们可以使用自己的代码进行 H.264 或 SFC 压缩,我们称之为 "Native" 模式,随着 Android 引入 "屏幕投影" 功能,我们已将 "Projection" 添加到 Total Control 中。Android 投影的速度与(如果不是更快的话)我们的 "Native" 模式相似,对于我们来说,维护每个新 Android 发布的两种模式是困难的。从 Android 12 开始,我们将不再提供 "Native" 模式或 SFC。