当前位置: 首页 > news >正文

Cocos Creator 3.8.5 正式发布,更小更快更多平台!

在 Cocos Creator 3.8.5 版本中,我们做了新一轮的优化。

在加载速度、代码裁剪、平台增强等多方面做了优化,提升了开发者体验和游戏性能。

希望能够助 Cocos 开发者们的产品更上一层楼。

一、加载速度优化

1、WASM 模块延迟加载

在早期版本中,Cocos Creator 在打包时就支持了 WASM 模块分离,使 WASM 模块可以放入分包之中,不占用主包包体。

a6159856c261149ea9a270b9d6c93c4b.png

在 3.8.5 版本中,我们支持 WASM 模块延迟加载,这对使用了 Box2D、Spine、Bullet 等 WASM 库的游戏非常有帮助。用户只需要在使用相关功能之前,调用下面的API函数,加载对应的 WASM 库即可。

  • loadWasmModuleBox2D

  • loadWasmModuleSpine

  • loadWasmModuleBullet

  • loadWasmModulePhysics

这样一来,开发者就可以控制 WASM 的加载时机,使 WASM 模块的加载不占用首屏时间,大大缩短玩家首次进入游戏的加载时长。

2、代码裁剪

在 Cocos Creator 3.8.5 中,引擎内部采取了多种方案组合,降低 2D 项目包体大小。

  1. 移除 web 平台 gfx 层无用的代码

  2. 构建引擎代码支持"内联枚举"功能

  3. Spine 模块包体优化,体积相比 v3.8.4 缩减 40% 左右

  4. 显示声明 ts 类的构造函数,避免生成无用代码

我们还会继续努力,确保纯 2D 项目的包体与 2.x 项目持平,同时尽可能减少 3D 项目。

二、CRP 管线优化

81c320410cd409636c28bf2fe3e86760.jpeg

v3.8.4  提供的可定制管线 CRP-Customizable Render Pipeline 受到了许多开发者的欢迎,同时我们也收到了非常多的反馈。在 v3.8.5 版本中,我们优化了若干反馈,并对管线进一步加强。

在 v3.8.5 中,我们完善了景深(DOF)等后期效果,自定义后效支持组件式添加,也进一步优化了性能和内存占用。

CRP 会在易用性、效果、性能和内存占用等方面持续优化,最终成为项目开发的主流选择。

三、平台增强

1、鸿蒙 NEXT

7fb18a919b1997f63c2b99c2a3807943.png

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

2、Google Play

36d757e8b5692b0ece63be88316d8412.png

Cocos Creator 3.8.5 提供了一键发布到 Google Play 的能力。与普通的 Android 发布相比有一些差异和便捷特性。

  1. 一键激活 ADPF(Android Dynamic Performance Framework),这是一个动态性能优化框架,可以更好地提升游戏的散热表现和CPU性能。

  2. 默认渲染后端为 VULKAN

  3. 可以配置应用程序图标

3、咪咕小游戏

c1df1500b6cf8437d65ad3c48c3fa506.png

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

18f5b36f2f1dfef806aa4796286d150f.png

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

四、编辑器提升

646c0488838762556bbe0729e766d7c9.jpeg

1、启动速度优化

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

2、升级 Electron

d21afd7d39729c22643fa6c55d1245b2.png

Electron 升级到 v31.3.1,使编辑器可以享受到新版 NodeJS 的增益,不仅能够提升性能,插件开发者们还可以使用新版 NodeJS v20.15 的 API 和特性。

3、场景编辑器点选规则优化

3.8.5 中,我们优化了场景编辑器中物体点选规则,当同一个区域物体较多时,会优先选中较近的物体。

4、属性检查器支持 Prefab 预览

34b55f328ed2cfcc0264cacf601720e8.jpeg

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

b9497d5ca31874c35f4d2780d5a8d0b4.png

五、一些重要问题修复

  1. Node 的 position/rotation/scale 等设置方法改回和 v3.8.3 一样的方式。

  2. 修复构建时自动图集压缩纹理后还保留原图的问题。

  3. 修复 Box2D 在 Contract 回调函数内销毁节点会崩溃的问题。

  4. 修复热更新文件很多时,会造成UI页面卡主的问题。

  5. Prefab 中会记录无用的 Mesh 数据。

  6. iOS ETC 压缩格式,使用 Mac 压缩后透明度不对。

  7. 自动合图的纹理填充率变低,导致 UI Drawcall 增加。

六、v3.8.6 预告

03bfbbe35cd4c33c5d1a044f572e2961.png

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

70fae479dd7c248e930064f1faa638f3.png

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

相关文章:

Cocos Creator 3.8.5 正式发布,更小更快更多平台!

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

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的系统调用经常会遇到一个概念:“内核态和用户态的切换”,一般人只会告诉你说这个切换代价很大,具体是什么情况?为什么需要切换?一定需要切换吗?怎么就会触发切换&#xff1…...

# 光速上手 - 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><!--相对路径&#xff1a;-->…...

windows 默认的消息ID有那些---我与大模型对话

前言&#xff1a; 与大模型交流&#xff0c;提问要尽量简短&#xff0c;突出关键词。否则它的回答就可能事是而非。用它总结和查资料还行&#xff0c;用它解决问题路还很远。它非常注重标准格式并机械的执行标准格式&#xff0c;并且事无巨细&#xff0c;不能灵活简要的回答问…...

CSV vs 数据库:爬虫数据存储的最佳选择是什么

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

编译原理学习笔记——CH7-Runtime Environments运行时环境

本章重点&#xff1a; 为什么函数调用可以采用栈式存储&#xff1f; 函数调用和返回过程中需要记录哪些信息&#xff1f;如何记录&#xff1f; 主要知识点&#xff1a;  环境、状态、activation &#xff08;激活&#xff09; of procedures 、elaboration &#xff08;确立…...

机器学习DAY7: 特征工程和特征选择(数据预处理)(完)

本文通过特征提取、特征转换、特征选择三个过程介绍数据预处理方法&#xff0c;特征提取将原始数据转换为适合建模的特征&#xff0c;特征转换将数据进行变换以提高算法的准确性&#xff0c;特征选择用来删除无用的特征。 知识点 特征提取特征转换特征选择 本次实验的一些示…...

vue3动态加载组件

如何在Vue3中动态加载组件 需求根据下拉框的值&#xff0c;加载不同的组件 新建文件aaa.vue&#xff0c;bbb.vue <template><div class"container">我是bbbb组件</div> </template><script lang"ts" setup name"taskPus…...

12.29 redis缓存一致性

更新操作 如果先更新数据库再更新缓存 先更新缓存再更新数据库 更新缓存为1 更新缓存尾2 更新数据库为2 更新数据库为1 那么最后缓存为2 数据库为1 数据不一致 先更新数据库&#xff0c;再更新缓存 数据库为1 数据库为2 缓存为2 缓存为1 还是不一致 于是这种情况我们改为将缓…...

SqlSugar配置连接达梦数据库集群

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

评分模型在路网通勤习惯分析中的应用——提出问题(1)

1、问题的由来、目标和意义 最近一段时间和公司其它业务部门讨论时&#xff0c;发现一个有趣的交通路网问题&#xff0c;车辆从S点行驶到V点共用时40分钟&#xff0c;这段时间内路网中的卡口摄像头识别到了车辆通过的信息。如下图所示&#xff1a; 设计师需要通过这些有限的路…...

OpenClaw自动化测试:Qwen3-32B驱动UI操作与结果校验

OpenClaw自动化测试&#xff1a;Qwen3-32B驱动UI操作与结果校验 1. 为什么选择OpenClaw做UI自动化测试 去年接手一个个人项目时&#xff0c;我遇到了一个典型痛点——每次代码更新后&#xff0c;都需要手动重复执行几十个UI操作步骤来验证核心功能。这种重复劳动不仅耗时&…...

Vue实战:从零构建黑马后台管理系统全流程解析

1. 项目初始化与环境搭建 刚开始接触Vue后台管理系统开发时&#xff0c;我踩过不少环境配置的坑。这里分享一个经过实战验证的初始化流程&#xff0c;帮你避开那些常见的"雷区"。 首先确保你的开发环境已经安装了Node.js&#xff08;建议LTS版本&#xff09;和npm。我…...

忍者像素绘卷效果展示:飞雷神之术瞬移轨迹×金色像素残影动态图

忍者像素绘卷效果展示&#xff1a;飞雷神之术瞬移轨迹金色像素残影动态图 1. 作品概览 忍者像素绘卷是基于Z-Image-Turbo深度优化的图像生成工作站&#xff0c;它将传统忍者文化与16-Bit复古游戏美学完美融合。这款工具特别擅长生成具有强烈动态感的忍者动作场景&#xff0c;…...

STM32与Linux的无缝协作:通过USB CDC/VCP实现高效数据交互

在现代嵌入式机器人系统中&#xff0c;常见的架构是“双核协同”&#xff1a;一个高性能 Linux 主板&#xff08;如运行 OpenWrt 的 MT7628 &#xff09;负责网络、音视频和高级应用&#xff1b;一个实时性更强的 MCU&#xff08;如 STM32F4/F7&#xff09;负责电机控制、传感器…...

Electron实战:解决微信登录页二维码不显示的5个关键配置(附完整代码)

Electron微信登录页二维码显示问题的深度解决方案 微信登录已经成为现代桌面应用的标准功能之一&#xff0c;但Electron开发者在集成过程中常常遇到二维码无法显示的棘手问题。这并非简单的代码错误&#xff0c;而是微信安全机制与Electron特殊浏览器环境之间的微妙博弈。 1. 问…...

InfinitePCA9685:嵌入式多PCA9685芯片PWM统一控制库

1. InfinitePCA9685库概述&#xff1a;面向嵌入式多设备PWM控制的工程化抽象InfinitePCA9685是一个专为Arduino平台设计的轻量级C库&#xff0c;其核心目标是解决嵌入式系统中多PCA9685芯片协同控制这一典型工程痛点。在机器人关节驱动、LED矩阵调光、工业IO扩展等实际场景中&a…...

融合 PSO 的改进鲸鱼优化算法(PSO‑ImWOA)无人机三维航迹规划研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

从LTE到5G NR:OFDM采样率与带宽设计的演进与挑战

1. LTE时代的OFDM参数设计&#xff1a;稳定但受限的起点 记得我第一次调试LTE基站时&#xff0c;被30.72MHz这个神奇的数字困扰了很久。为什么偏偏是这个采样频率&#xff1f;这要从LTE的OFDM基础设计说起。在LTE系统中&#xff0c;子载波间隔被固定为15kHz&#xff0c;就像用尺…...

Zotero插件进阶玩法:用这些神器打造你的专属文献工作流

Zotero插件进阶玩法&#xff1a;用这些神器打造你的专属文献工作流 如果你已经熟悉Zotero的基础操作&#xff0c;却还在手动整理文献、逐篇翻译PDF、反复切换浏览器查影响因子&#xff0c;那么是时候升级你的研究工具链了。本文将带你探索Zotero生态中那些能让学术工作事半功倍…...

CANoe CAPL文件读写保姆级教程:从记录测试数据到读取配置文件

CANoe CAPL文件读写实战指南&#xff1a;从数据记录到动态配置 在汽车电子测试领域&#xff0c;数据记录和参数配置的自动化程度直接影响着测试效率和可靠性。想象这样一个场景&#xff1a;凌晨三点的耐久性测试实验室&#xff0c;测试工程师需要每隔15分钟手动记录一次总线报文…...