mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-12-11 09:38:44 +00:00
[adapters] 优化多线程特性文件结构,增加部分多线程音频系统代码,支持 Worker 子包特性(默认不开启),修复 Devtools 下强制不启用 Worker 问题
This commit is contained in:
36
adapters/platforms/wechat/worker/macro.js
Normal file
36
adapters/platforms/wechat/worker/macro.js
Normal file
@@ -0,0 +1,36 @@
|
||||
const isSubContext = wx.getOpenDataContext === undefined;
|
||||
const sysinfo = wx.getSystemInfoSync();
|
||||
const platform = sysinfo.platform.toLowerCase();
|
||||
const isAndroid = platform === "android";
|
||||
const isDevtools = platform === "devtools";
|
||||
const sdkVersion = sysinfo.SDKVersion.split('.').map(Number);
|
||||
// >= 2.20.2
|
||||
const hasWorker = sdkVersion[0] > 2 || (sdkVersion[0] === 2 && (sdkVersion[1] > 20 || (sdkVersion[1] === 20 && sdkVersion[2] >= 2)));
|
||||
// >= 2.27.3
|
||||
const useSubpackage = sdkVersion[0] > 2 || (sdkVersion[0] === 2 && (sdkVersion[1] > 27 || (sdkVersion[1] === 27 && sdkVersion[2] >= 3)));
|
||||
|
||||
// 是否启用 Worker 驱动资源管线
|
||||
globalThis.CC_WORKER_ASSET_PIPELINE = false;
|
||||
|
||||
// 是否启用 Worker 驱动音频系统
|
||||
globalThis.CC_WORKER_AUDIO_SYSTEM = false;
|
||||
|
||||
// NOTE 截止 2024.10.22,微信未修复 iOS、Windows、Mac 上仅文件系统 API 可以正常使用的问题
|
||||
globalThis.CC_WORKER_ASSET_PIPELINE = (isAndroid || isDevtools) && globalThis.CC_WORKER_ASSET_PIPELINE;
|
||||
|
||||
// 是否启用 Worker
|
||||
globalThis.CC_USE_WORKER = (CC_WORKER_ASSET_PIPELINE) && hasWorker && !isSubContext;
|
||||
|
||||
// 是否启用 Worker 调试模式
|
||||
globalThis.CC_WORKER_DEBUG = false;
|
||||
|
||||
// 是否启用 Worker 调度模式,这也许能减少通信次数带来的性能消耗(必须一致)
|
||||
globalThis.CC_WORKER_SCHEDULER = true;
|
||||
|
||||
// 是否启用 Worker 使用同步版本的文件系统 API
|
||||
// NOTE: IOS 不支持 async 文件系统 API,Android 不支持部分 sync 文件系统 API,其余系统暂不确定
|
||||
globalThis.CC_WORKER_FS_SYNC = !isAndroid && !isDevtools;
|
||||
|
||||
// 是否启用 Worker 子包
|
||||
// NOTE 截止 2024.10.22,部分安卓机型声明使用子包 Worker 会报 java.string 错误
|
||||
globalThis.CC_WORKER_SUB_PACKAGE = false;
|
||||
Reference in New Issue
Block a user