EffectMode(高性能模式)使用指引
EffectMode
从 SDK V3.9.0 开始,创建 SDK 时必须指定 EffectMode,它有两个取值: EffectMode_Normal 和 EffectMode_Pro。
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
方式一
如果您是直接使用的
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之前如何开启高性能模式
方式一
如果您是直接使用的
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
方法之前调用。