一、EffectMode
·EffectMode_Normal 等价于旧版本 SDK 的“高性能模式”。
·EffectMode_Pro 等价于旧版本 SDK 的默认模式。
二者区别如下:
二、高性能模式
·“高性能模式”是 SDK V3.9.0之前的概念,当时 SDK 有两种模式:高性能模式和默认模式。
·从V3.9.0开始,高性能模式变成了 EffectMode_Normal,默认模式变成了 EffectMode_Pro。
·高性能模式与默认模式的区别请参考上文中 EffectMode_Normal 和 EffectMode_Pro 的区别。
三、V3.9.0及之后如何设置 EffectMode
AndroidiOSFlutteruniapp方式一如果你是直接使用的XmagicApi对象,那么请在创建XmagicApi对象时,在构造方法中指定 EffectMode:public XmagicApi(Context context, EffectMode effectMode, String resDir)public XmagicApi(Context context, EffectMode effectMode, String resDir, OnXmagicPropertyErrorListener xmagicPropertyErrorListener)方式二如果你是使用的 TEBeautyKit 对象,可以调用如下方法开启高性能模式。public TEBeautyKit(Context context, EffectMode effectMode)public static void create(@NonNull Context context, EffectMode effectMode, @NonNull OnInitListener initListener)EffectMode 定义如下:public enum EffectMode{ NORMAL(0), PRO(1); private final int value; EffectMode(int value) { this.value = value; } public int getValue() { return value; }}方式一如果你是直接使用的XMagic对象,那么需要在初始化XMagic的时候指定 EffectMode,如下代码所示:NSDictionary *assetsDict = @{@"core_name":@"LightCore.bundle", @"root_path":[[NSBundle mainBundle] bundlePath], @"effect_mode":@(effectMode)};self.xmagic = [[XMagic alloc] initWithRenderSize:CGSizeMake(720, 1280) assetsDict:assetsDict];方式二如果你是使用的 TEBeautyKit 对象,请在调用 createXMagic 方法时传入 EffectMode 参数。+ (void)createXMagic:(EffectMode)effectMode onInitListener:(OnInitListener _Nullable )onInitListener;EffectMode 的定义如下:typedef NS_ENUM(NSInteger, EffectMode) { EFFECT_MODE_NORMAL = 0, EFFECT_MODE_PRO = 1,};可以通过调用TencentEffectApi的setDowngradePerformance方法开启。注意:此方法需要在开启美颜之前调用,也就是 TRTC或者Live中的 enableCustomVideoProcess 方法之前调用。可以通过调用XmagicApi的setDowngradePerformance 方法开启。注意:此方法需要在开启美颜之前调用,也就是在enableCustomVideoProcess 方法之前调用。
四、V3.9.0之前如何开启高性能模式
AndroidiOSFlutteruniapp
方式一
如果你是直接使用的XmagicApi对象,那么请在创建XmagicApi对象之后立即调用以下接口开启高性能模式:
·SDK 3.7.0及以后:调用 enableHighPerformance 方法。
·SDK 3.7.0以前:调用setDowngradePerformance方法。
方式二
如果你是使用的 TEBeautyKit 对象,可以调用如下方法开启高性能模式。
/**
* @param context 应用上下文
* @param isEnableHighPerformance 是否开启高性能模式
*/
public TEBeautyKit(Context context, boolean isEnableHighPerformance) /**
*
* 异步创建TEBeautyKit对象
* @param context Android应用上下文
* @param isEnableHighPerformance 是否开启增强模式
* @param initListener 初始化回调接口
*/
public static void create(@NonNull Context context, boolean isEnableHighPerformance, @NonNull OnInitListener initListener)
方式一
如果你是直接使用的XMagic对象,那么可以在初始化XMagic的时候开启:
·SDK 3.7.0及以后:请在assetsDict字典中将 enableHighPerformance 设置为YES。
·SDK 3.7.0以前:请在assetsDict字典中将setDowngradePerformance设置为YES。
NSDictionary *assetsDict = @{@"core_name":@"LightCore.bundle",@"root_path":[NSBundle mainBundle] bundlePath],@"setDowngradePerformance":@(YES)//YES:开启高性能模式,NO:不开启高性能模式。默认不开启高性能模式。};self.xmagic = [[XMagic alloc] initWithRenderSize:CGSizeMake(720, 1280) assetsDict:assetsDict];
方式二
如果你是使用的 TEBeautyKit 对象,可以调用如下方法开启高性能模式。
/**
*
* 创建TEBeautyKit对象
* @param isEnableHighPerformance 是否开启高性能模式。YES:开启高性能模式;NO:不开启高性能模式
* @param initListener 初始化回调接口
*/ + (void)create:(BOOL)isEnableHighPerformance onInitListener:(OnInitListener _Nullable )onInitListener;
可以通过调用TencentEffectApi的setDowngradePerformance 方法开启。注意:此方法需要在开启美颜之前调用,也就是 TRTC或者Live中的 enableCustomVideoProcess 方法之前调用。
可以通过调用XmagicApi的setDowngradePerformance 方法开启。注意:此方法需要在开启美颜之前调用,也就是在enableCustomVideoProcess 方法之前调用。