Rspack (读音为/'ɑrspæk/
)是基于 Rust 语言开发的 Web 构建工具,拥有高性能、兼容 Webpack 生态、定制性强等多种优点。
特性
构建速度对比
前言 rspack 即将开源,但社区中不乏有已经落地的 case ,比如 rspack-migration-showcase 、 modern.js 等。 基于此,本文将介绍如何迁移一个近似于 CRA( create-react-app ) 的项目到 rspack 。 在阅读本文前,我们认为读者已经熟练掌握了 webpack 配置,本文将略过所有前置知识。 注:由于 rspack 处于 0.0.x
rollup 是一款小巧的 javascript 模块打包工具,更适合于库应用的构建工具;可以将小块代码编译成大块复杂的代码,基于ES6 modules,自动进行 Tree-shaking,它可以让你的 bundle 最小化,有效减少文件请求大小。 全局安装 npm install --global rollup 命令行 //该命令编译 main.js 生成 bundle.js, --form
【UI 模块性能】页面主要展示项目运行过程中 UI 模块的CPU占用情况,主要包括以下几个部分: 数据汇总 该项主要展示项目运行过程中的“CPU峰值”、“CPU均值”、“堆内存分配总值”和“堆内存均值”。其中,“CPU均值”和“堆内存分配均值”表示UI模块平均每帧的CPU占用和堆内存分配。 UI 模块总体耗时 & 耗时详情 UI 模块总体CPU耗时 主要展示项目运行过程中 UI 模块的整体耗时情况
Rust有两个与模块 (module) 系统相关的独特术语:crate和module, 其中包装箱 (crate) 与其它语言中的 libary 或者 package 作用一样。 每个包装箱都有一个隐藏的根模块,在根模块下可以定义一个子模块树, 其路径采用::作为分隔符。包装箱由条目 (item) 构成,多个条目通过模块组织在一起。 定义模块 使用mod关键字定义我们的模块: // in src/
【加载模块性能】页面主要展示项目运行过程中引擎加载模块的具体使用情况,主要包括以下几个部分: GameObject数量 GameObject数量 主要展示项目运行过程中的GameObject的使用情况,让您快速看到项目运行过程中是否存在潜在的泄露问题。您可以通过与图表交互,查看每一场景、每一帧的具体GameObject使用情况。同时,当您选中图表的某一帧时,页面上的场景图片会随之联动,将离该帧最为
【动画模块性能】页面主要展示项目运行过程中动画模块的CPU占用情况,主要包括以下几个部分: 数据汇总 该项主要展示项目运行过程中的 “动画片段数量峰值”、“Animator.Update CPU均值”、“Animation.Update CPU均值” 和 “蒙皮网格更新CPU均值”。 注意: Animation.Update 对应的是Unity 3.x 动画系统,Animator.Update 对
【物理模块性能】页面主要展示项目运行过程中物理模块的CPU占用情况,主要包括以下几个部分: 数据汇总 该项主要展示项目运行过程中的 “CPU均值”、“Contacts数量峰值”、“静态碰撞体数量峰值” 和 “动态碰撞体数量峰值”。其中,“CPU均值” 是指物理引擎(Physics.Simulate)每帧的平均CPU耗时。 Physics.Simulate 该项主要展示项目运行过程中物理模块的具体耗