Bevy 0.16 发布
Bevy 是一个使用 Rust 开发的,数据驱动的游戏引擎。此次 0.16 版本包含1244 个 PR,涉及 261 位贡献者。其中主要的改进有:
- GPU 驱动的渲染:Bevy 现在会尽可能地在 GPU 上执行更多的渲染工作,大幅提升在处理大型复杂场景时速度。
- 过程性大气散射:以较低的性能开销模拟逼真的、基于物理原理的类似地球的天空,且可在一天中的任何时刻进行模拟。
- 贴图:将纹理动态地分层到已渲染的网格上。
- 遮挡剔除:通过不渲染被其他物体遮挡的对象来提升性能。
- ECS 关系:ECS 最热门的功能之一终于来了:让你能够轻松且稳健地对实体与实体之间的连接进行建模并处理相关工作。虽然存在一些不完美的地方,但我们很高兴今天能为用户提供一个简单而可靠的解决方案。
- 改进的 Spawn API:现在生成实体层级结构要容易得多了!
- 统一的错误处理:Bevy 现在具备一流的错误处理支持,使其既简单易用、灵活且符合人体工程学,同时也让调试变得更加容易!
- no_std 支持:Bevy 本身以及我们的大量子 crate 不再依赖于 Rust 的标准库,这让你可以在从现代游戏主机到 Gameboy Advance 等各种设备上使用相同的引擎。
- 更快的变换传播:我们显著提升了同时处理更多对象时的变换传播性能,尤其是在这些对象为静态的情况下。
Github 仓库:https://github.com/bevyengine/bevy
BugStalker v0.3.0发布
BugStalker 是一个使用 Rust 开发的现代调试工具。此次新版本的主要改进有:
- 支持
async
:新增异步调试命令async backtrace
—— 检查异步任务的回溯信息async task
—— 查看异步任务async stepover
/async stepout
—— 异步单步跳过/跳出,更好的控制异步代码执行过程
- 增强的变量检查
argd / vard
—— 打印变量和参数
- 新的
call
命令 —— 在被调试的程序中直接执行函数 trigger
命令 —— 对断点进行更细粒度的控制- 新的项目网站 —— 提供更优质的文档和资源
完整的变更说明:https://github.com/godzie44/BugStalker/releases/tag/v0.3.0
Github 仓库:https://github.com/godzie44/BugStalker
十分钟生成百万 PDF 文档
本文作者分享了为解决金融行业大规模生成 PDF 文档难题,构建高性能、低成本 PDF 渲染管道的经验。采用 Rust、Terraform 和 AWS 服务(SQS、S3、Lambda、API Gateway)搭建架构,借助 Typst 排版引擎提升渲染速度。通过实现请求处理和渲染两个 Lambda 函数、使用 Terraform 定义基础设施,并进行性能调优(如增加 Lambda 并发数、缓存、数据分组),初步达到处理 1000 个请求仅需 11 秒、吞吐量 91PDFs / 秒的效果。
总体的架构如下图所示:
- API Gateway:渲染服务的端点
- SQS: 渲染任务管理
- Lambda: 调度并执行最终渲染
- S3:存储最终输出的 PDF 文档
其中,Lambda 部分采用 Rust 来开发,编译为原生二进制文件,无需依赖运行时,可避免冷启动等待时间,提升系统响应速度,更适合处理高并发的 PDF 渲染任务。
原文:https://www.ersteiger.com/posts/rendering-one-million-pdfs/
--
From 日报小组 Yuan YQ
社区学习交流平台订阅:
评论区
写评论还没有评论