tencent cloud

文档反馈

低端机性能优化实践教程

最后更新时间:2024-12-13 19:18:30
    美颜特效涉及 AI 检测、图像处理、2D 和 3D 图形渲染、动画特效等操作,会占用一定的 CPU 和 GPU 资源。如果在直播、拍摄场景时,系统本身负载已经很高,再叠加上美颜特效,在性能较差的设备上可能出现卡顿、掉帧现象。因此我们整理了低端机性能优化实践教程,尽可能减少美颜特效 SDK 在低端机上的性能开销,确保用户有良好的使用体验。

    低端机的定义

    SDK 提供了getDeviceLevel接口获取设备等级(接口说明见:AndroidiOS),等级取值为1 ~ 5, 1为最低端机,5为最高端机。我们建议将等级小于等于3的设备视为低端机。
    您也可以根据自身产品数据以及自身App的性能消耗情况,自行判断当前设备的等级。
    通过判断不同的设备等级,结合以下措施减少低端机的性能消耗:

    措施一:使用 SDK 的 Normal 模式

    从 SDK V3.9.0 开始,创建 SDK 时必须指定 EffectMode,它有两个取值: EffectMode_Normal 和 EffectMode_Pro。
    EffectMode_Normal 等价于旧版本 SDK 的“高性能模式”。
    EffectMode_Pro 等价于旧版本 SDK 的默认模式。
    建议在低端机上使用 EffectMode_Normal。更多详细说明见:EffectMode(高性能模式)使用指引

    措施二:关闭 SDK 的某些高级能力

    通过 setFeatureEnableDisable 接口关闭某些高级能力:
    FeatureName.WHITEN_ONLY_SKIN_AREA
    美白仅对皮肤生效。默认未开启。开启此功能会触发开启“皮肤分割能力”。低端机上不建议开启。
    FeatureName.SEGMENTATION_SKIN
    皮肤分割能力,开启后可使磨皮和美白区域更精准,减少对周围环境的影响。SDK在设备等级大于等于4时会默认开启。低端机上不建议开启。
    FeatureName.SEGMENTATION_FACE_BLOCK
    人脸遮挡检测能力,开启后可避免妆容画到遮挡物上。SDK在设备等级大于等于5时会默认开启。低端机上不建议开启。
    FeatureName.SMART_BEAUTY
    智能美颜(为男性、宝宝减淡美颜美妆效果)。默认未开启。低端机上不建议开启。
    此外,“美黑”能力也会触发开启 FeatureName.SEGMENTATION_SKIN 能力。低端机上不建议使用美黑能力。

    措施三:使用轻美妆代替风格整妆

    轻美妆是腾讯特效 SDK 在V3.9.0版本推出的新功能,与之前的“风格整妆特效”相比,轻美妆性能更好,且能跟其他特效很好地叠加。
    更多说明见:轻美妆使用说明

    措施四:使用性能更好的特效素材

    我们提供丰富的特效供客户选择。有些特效比较简单,在低端机上能流畅展示。但有些特效需要消耗较多的 CPU 和 GPU 资源,在低端机上不建议使用,例如 3D 特效,GAN 特效(例如变娃娃脸、变漫画脸),背景分割特效等等。
    我们提供了低端机专区,供客户自行选择,详情见美颜特效 Demo。

    其他优化措施

    除了以上美颜特效相关的优化措施,也可以关注外部影响性能/流畅度的因素:

    1、选择合适的分辨率

    分辨率越高,SDK 需要处理的像素就越多。在低端机上直播或拍摄时,建议不要超过540P分辨率。

    2、设置合适的日志开关

    SDK 提供了 setXmagicLogLevel 接口(AndroidiOS)用于设置日志等级,默认等级为 WARN 或 INFO。您可以将它进一步提升到 ERROR 级别,以减少日志输出。切记不能设置为 DEBUG 级别,否则大量的日志会影响性能。

    3、检查推流帧率

    检查是否设置的比较低,建议调整到24fps以上。当您的应用在没有设置美颜的时候画面也不太流畅时,需要检查一下采集模块的相机帧率,可以适当提高相机帧率从而达到画面流畅的效果。如果您使用的是 TRTC,那么可以参见 此文档 调整帧率。

    4、检查美颜特效之外的模块的性能

    如果在使用美颜特效之前,您的应用就已经很卡了,或者 CPU 占用率已经很高,说明 APP 性能已经出现了问题,这种情况下再使用美颜特效,只能让情况变得更差。所以建议先优化美颜特效之外的模块的性能。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持