mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2026-07-22 19:28:43 +00:00
发布新文档;修改发布脚本
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"label": "多线程支持",
|
||||
"position": 6,
|
||||
"collapsed": true,
|
||||
"link": {
|
||||
"type": "doc",
|
||||
"id": "thread-intro"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 123 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 220 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 265 KiB |
@@ -0,0 +1,18 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: "在多线程中执行资源管线。"
|
||||
---
|
||||
|
||||
# 资源管线
|
||||
|
||||
依次点击编辑器的菜单项 **项目 - 社区版设置**,然后勾选 **多线程驱动资源管线**,即可启用这一特性。
|
||||
|
||||
启用后,资源的下载和缓存部分都会在 Worker 线程中执行,完全释放对主线程的占用。
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
这是在 Android 设备上,对游戏帧耗时的分析图,可以看到红框部分的消耗消失了,降低了每帧的耗时。
|
||||
|
||||
在启用后,会有一些接口与之前不一样,请前往 [破坏性变更](../../breaking-change#资源管线) 查看详情。
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
description: "在多线程中操作音频。"
|
||||
---
|
||||
|
||||
# 音频系统
|
||||
|
||||
依次点击编辑器的菜单项 **项目 - 社区版设置**,然后勾选 **多线程驱动音频系统**,即可启用这一特性。
|
||||
|
||||
启用后,音频的所有操作都会在 Worker 线程中执行,完全释放对主线程的占用。
|
||||
|
||||
:::danger 注意
|
||||
|
||||
该特性正在开发中,请勿启用。
|
||||
|
||||
:::
|
||||
@@ -0,0 +1,71 @@
|
||||
import DocCardList from '@theme/DocCardList';
|
||||
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
# 多线程支持
|
||||
|
||||
:::caution 注意
|
||||
|
||||
以下所有多线程特性暂时仅适用于微信小游戏平台。
|
||||
|
||||
:::
|
||||
|
||||
社区版为引擎的部分系统增加了多线程支持,启用后可以释放其对主线程的占用,减少卡顿现象。
|
||||
|
||||
你可以在社区版的设置面板启用多线程支持:
|
||||
|
||||

|
||||
|
||||
## 使用代码调整设置
|
||||
|
||||
你可以使用 [构建模板](https://docs.cocos.com/creator/2.4/manual/zh/publish/custom-project-build-template.html) 在 `game.js` 的 `__globalAdapter.init();` 语句执行之前声明宏来调整设置:
|
||||
|
||||
- CC_WORKER_ASSET_PIPELINE(是否启用 Worker 驱动资源管线)
|
||||
- CC_WORKER_AUDIO_SYSTEM(是否启用 Worker 驱动音频系统)
|
||||
- CC_WORKER_DEBUG(是否启用 Worker 调试模式)
|
||||
|
||||
例如这样:
|
||||
|
||||
```js
|
||||
// game.js
|
||||
require('adapter-js-path');
|
||||
// --- 在 init 执行之前设置 ---
|
||||
globalThis.CC_WORKER_ASSET_PIPELINE = isAndroid;
|
||||
// --------------------------
|
||||
__globalAdapter.init();
|
||||
```
|
||||
|
||||
当 `init` 执行之后,由于引擎已经初始化完毕,就不能再对设置进行修改了。
|
||||
|
||||
## 注意事项
|
||||
|
||||
当你重启编辑器,或者启用/禁用多线程支持时,可能出现以下几种情况:
|
||||
|
||||
**禁用多线程支持时输出的包体大小警告:**
|
||||
|
||||
由于要实现多线程支持,社区版在包体内增加了一个 `workers` 目录,用于存放 Worker 线程的代码。
|
||||
|
||||
大小有 `30-50KB` 左右,当你禁用多线程时,这个目录可以被删除以减少包体。
|
||||
|
||||
具体流程如下:
|
||||
|
||||
- 点击编辑器界面右上角的 **编辑器** 按钮,并跳转到 `Resources/builtin/adapters/platforms/wechat/res` 目录。
|
||||
- 删除该目录下的 `workers` 目录。
|
||||
- 打开该目录下的 `game.json`,删除 `workers` 字段并保存。
|
||||
|
||||
**启用多线程支持时输出的检测错误:**
|
||||
|
||||
这是由于你按照上面的步骤删除了多线程所需的文件和配置,所以无法启用多线程支持,只需恢复或者重新安装完整的社区版即可。
|
||||
|
||||
:::tip 注意
|
||||
|
||||
**如果你正在使用付费扩展,则无需手动删除或重新安装,也不会输出任何警告或者错误。**
|
||||
|
||||
因为付费扩展会存储已安装版本的备份文件,所以能够自动删除或重新安装。
|
||||
|
||||
如果付费扩展依然输出错误则可能是文件损坏,重新一键安装即可。
|
||||
|
||||
:::
|
||||
|
||||
阅读下面的文档了解详情:
|
||||
|
||||
<DocCardList items={useCurrentSidebarCategory().items}/>
|
||||
Reference in New Issue
Block a user