Cocos Creator 3.8.5 正式发布,更小更快更多平台!
在 Cocos Creator 3.8.5 版本中,我们做了新一轮的优化。
在加载速度、代码裁剪、平台增强等多方面做了优化,提升了开发者体验和游戏性能。
希望能够助 Cocos 开发者们的产品更上一层楼。
一、加载速度优化
1、WASM 模块延迟加载
在早期版本中,Cocos Creator 在打包时就支持了 WASM 模块分离,使 WASM 模块可以放入分包之中,不占用主包包体。

在 3.8.5 版本中,我们支持 WASM 模块延迟加载,这对使用了 Box2D、Spine、Bullet 等 WASM 库的游戏非常有帮助。用户只需要在使用相关功能之前,调用下面的API函数,加载对应的 WASM 库即可。
loadWasmModuleBox2D
loadWasmModuleSpine
loadWasmModuleBullet
loadWasmModulePhysics
这样一来,开发者就可以控制 WASM 的加载时机,使 WASM 模块的加载不占用首屏时间,大大缩短玩家首次进入游戏的加载时长。
2、代码裁剪
在 Cocos Creator 3.8.5 中,引擎内部采取了多种方案组合,降低 2D 项目包体大小。
移除 web 平台 gfx 层无用的代码
构建引擎代码支持"内联枚举"功能
Spine 模块包体优化,体积相比 v3.8.4 缩减 40% 左右
显示声明 ts 类的构造函数,避免生成无用代码
我们还会继续努力,确保纯 2D 项目的包体与 2.x 项目持平,同时尽可能减少 3D 项目。
二、CRP 管线优化

v3.8.4 提供的可定制管线 CRP-Customizable Render Pipeline 受到了许多开发者的欢迎,同时我们也收到了非常多的反馈。在 v3.8.5 版本中,我们优化了若干反馈,并对管线进一步加强。
在 v3.8.5 中,我们完善了景深(DOF)等后期效果,自定义后效支持组件式添加,也进一步优化了性能和内存占用。
CRP 会在易用性、效果、性能和内存占用等方面持续优化,最终成为项目开发的主流选择。
三、平台增强
1、鸿蒙 NEXT

Cocos Creator 3.8.5 提供了华为完全自主研发的鸿蒙 NEXT 操作系统的发布支持,开发者通过发布面板即可一键发布到鸿蒙 NEXT 平台。
2、Google Play

Cocos Creator 3.8.5 提供了一键发布到 Google Play 的能力。与普通的 Android 发布相比有一些差异和便捷特性。
一键激活 ADPF(Android Dynamic Performance Framework),这是一个动态性能优化框架,可以更好地提升游戏的散热表现和CPU性能。
默认渲染后端为 VULKAN
可以配置应用程序图标
3、咪咕小游戏

Cocos Creator 3.8.5 支持一键发布到咪咕小游戏,并在发布时配置相关参数。

2024年,结合自身资源和行业趋势,咪咕游戏开始打造 “双特色” 游戏分发平台。启动了全新的小游戏合作政策:60% 分成,零投入、免费流量推广扶持等。开发者们可以多多关注。
四、编辑器提升

1、启动速度优化
Cocos Creator 3.8.5 中,我们优化了启动时的资源编译方案,项目启动速度提升约 30% 左右,后面我们还会继续优化启动速度,节省开发者项目启动时间。
2、升级 Electron

Electron 升级到 v31.3.1,使编辑器可以享受到新版 NodeJS 的增益,不仅能够提升性能,插件开发者们还可以使用新版 NodeJS v20.15 的 API 和特性。
3、场景编辑器点选规则优化
3.8.5 中,我们优化了场景编辑器中物体点选规则,当同一个区域物体较多时,会优先选中较近的物体。
4、属性检查器支持 Prefab 预览

5、属性检查器支持 Spine 预览

五、一些重要问题修复
Node 的 position/rotation/scale 等设置方法改回和 v3.8.3 一样的方式。
修复构建时自动图集压缩纹理后还保留原图的问题。
修复 Box2D 在 Contract 回调函数内销毁节点会崩溃的问题。
修复热更新文件很多时,会造成UI页面卡主的问题。
Prefab 中会记录无用的 Mesh 数据。
iOS ETC 压缩格式,使用 Mac 压缩后透明度不对。
自动合图的纹理填充率变低,导致 UI Drawcall 增加。
六、v3.8.6 预告

Cocos Creator v3.8.6 版本的迭代将继续聚焦于优化包体大小和加载速度,增强对 Spine 和 Box2D 的支持,提升编辑器易用性等。

感谢大家对 Cocos Creator 的支持与信任,让我们一起创造更多优秀的作品!
相关文章:

Cocos Creator 3.8.5 正式发布,更小更快更多平台!
在 Cocos Creator 3.8.5 版本中,我们做了新一轮的优化。 在加载速度、代码裁剪、平台增强等多方面做了优化,提升了开发者体验和游戏性能。 希望能够助 Cocos 开发者们的产品更上一层楼。 一、加载速度优化 1、WASM 模块延迟加载 在早期版本中,…...

Python中构建终端应用界面利器——Blessed模块
在现代开发中,命令行应用已经不再仅仅是一个简单的文本输入输出工具。随着需求的复杂化和用户体验的重视,终端界面也逐渐成为一个不可忽视的设计环节。 如果你曾经尝试过开发终端UI,可能对传统的 print() 或者 input() 函数感到不满足&#…...
Android 15 状态栏闹钟图标不显示问题修复
Android 15 状态栏闹钟图标不显示问题修复 问题描述 在 Android 15 系统中,发现即使设置了闹钟,状态栏也不会显示闹钟图标。这个问题影响了用户及时查看闹钟状态的体验。 问题分析 通过查看 SystemUI 的配置文件,发现在 frameworks/base/packages/SystemUI/res/values/conf…...

数据采集背后的效率革命:如何优化你的爬虫性能
在爬虫技术日益发展的今天,性能优化成为提升数据采集效率的关键。面对日益复杂的网页结构和庞大的数据量,高效的爬虫能够显著降低运行时间和资源成本。本文将围绕爬虫性能优化的核心方法展开讨论,并通过实例对比多进程、多线程以及普通爬取的…...

【Compose multiplatform教程06】用IDEA编译Compose Multiplatform常见问题
当我们从Kotlin Multiplatform Wizard | JetBrains 下载ComposeMultiplatform项目时 会遇到无法正常编译/运行的情况,一般网页和桌面是可以正常编译的, 我这里着重解决如下问题 1:Gradle版本不兼容或者Gradle连接超时 2:JDK版本不兼容 3:Gradle依赖库连…...

《计算机组成及汇编语言原理》阅读笔记:p128-p132
《计算机组成及汇编语言原理》学习第 10 天,p128-p132 总结,总计 5 页。 一、技术总结 1.8088 organization and architecture 8088处理器是16位电脑,寄存器是16位,数据总线(data bus)是8位,地址总线是20位。 (1)g…...

使用 OpenCV 在图像中添加文字
在图像处理任务中,我们经常需要将文本添加到图像中。OpenCV 提供了 cv2.putText() 函数,可以很方便地在图像上绘制文本,支持多种字体、颜色、大小和位置等参数。 本文将详细介绍如何使用 OpenCV 在图像中添加文字,介绍 cv2.putTe…...

实现某海外大型车企(T)Cabin Wi-Fi 需求的概述 - 4
大家好,我是Q,邮箱:1042484520qq.com。 今天我们在上几讲的基础上再扩展下 Cabin Wi-Fi 的功能需求,讲讲如何使能 5G TCU Wi-Fi STA Bridge 模式。 参考: 实现某海外大型车企(T)Cabin Wi-Fi 需求…...
Linux系统:内核态与用户态的深层思考
背景: 我们学习Linux的系统调用经常会遇到一个概念:“内核态和用户态的切换”,一般人只会告诉你说这个切换代价很大,具体是什么情况?为什么需要切换?一定需要切换吗?怎么就会触发切换࿱…...

# 光速上手 - JPA 原生 sql DTO 投影
前言 使用 JPA 时,我们一般通过 Entity 进行实体类映射,从数据库中查询出对象。然而,在实际开发中,有时需要自定义查询结果并将其直接映射到 DTO,而不是实体类。这种需求可以通过 JPA 原生 SQL 查询和 DTO 投影 来实现…...

ASP.NET Web应用程序出现Maximum request length exceeded报错
一、问题描述 在ASP.NET的web应用中,导出数据时出现500 - Internal server error.Maximum request length exceeded。 二、原因分析 这个错误通常出现在Web应用程序中,表示客户端发送的HTTP请求的长度超过了服务器配置的最大请求长度限制。这可能是因为…...

HTML——16.相对路径
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><a href"../../fj1/fj2/c.html" target"_blank">链接到c</a><!--相对路径:-->…...
windows 默认的消息ID有那些---我与大模型对话
前言: 与大模型交流,提问要尽量简短,突出关键词。否则它的回答就可能事是而非。用它总结和查资料还行,用它解决问题路还很远。它非常注重标准格式并机械的执行标准格式,并且事无巨细,不能灵活简要的回答问…...

CSV vs 数据库:爬虫数据存储的最佳选择是什么
介绍 在爬虫技术中,数据存储是一个不可缺少的环节。然而,选择合适的存储方式对数据分析和结果应用都致关重要。CSV和数据库是常用的两种存储方式,但它们各有优缺。这篇文章将分析两者在爬虫数据存储方面的选择值。 微博热搜是当前网络热点话…...

编译原理学习笔记——CH7-Runtime Environments运行时环境
本章重点: 为什么函数调用可以采用栈式存储? 函数调用和返回过程中需要记录哪些信息?如何记录? 主要知识点: 环境、状态、activation (激活) of procedures 、elaboration (确立…...

机器学习DAY7: 特征工程和特征选择(数据预处理)(完)
本文通过特征提取、特征转换、特征选择三个过程介绍数据预处理方法,特征提取将原始数据转换为适合建模的特征,特征转换将数据进行变换以提高算法的准确性,特征选择用来删除无用的特征。 知识点 特征提取特征转换特征选择 本次实验的一些示…...
vue3动态加载组件
如何在Vue3中动态加载组件 需求根据下拉框的值,加载不同的组件 新建文件aaa.vue,bbb.vue <template><div class"container">我是bbbb组件</div> </template><script lang"ts" setup name"taskPus…...
12.29 redis缓存一致性
更新操作 如果先更新数据库再更新缓存 先更新缓存再更新数据库 更新缓存为1 更新缓存尾2 更新数据库为2 更新数据库为1 那么最后缓存为2 数据库为1 数据不一致 先更新数据库,再更新缓存 数据库为1 数据库为2 缓存为2 缓存为1 还是不一致 于是这种情况我们改为将缓…...

SqlSugar配置连接达梦数据库集群
安装达梦数据库时,会自动在当前操作系统中创建dm_svc.conf文件,可以在其中配置集群信息,不同操作系统下的文件位置如下图所示: dm_svc.conf文件内的数据分为全局配置区域、服务配置区域,以参考文献1中的示例说明&…...

评分模型在路网通勤习惯分析中的应用——提出问题(1)
1、问题的由来、目标和意义 最近一段时间和公司其它业务部门讨论时,发现一个有趣的交通路网问题,车辆从S点行驶到V点共用时40分钟,这段时间内路网中的卡口摄像头识别到了车辆通过的信息。如下图所示: 设计师需要通过这些有限的路…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...