搜索技巧 海洋云增白 开源地图 AI 搜索答案 沙丘魔堡2 压缩机站 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 PostgreSQL AI工具 证券 DirectX DrawingPics 化学 KDE 披萨农场 多动症 植物学 分析化学 Three.js 大会 残疾人学校 初创 QB64 更多

八百万像素及更多:改进 WebRender 中的纹理图集分配 (nical.github.io)

本文介绍了作者如何改进 WebRender 中的纹理图集分配以提高渲染性能。作者首先开发了 guillotiere,这是一个用于动态纹理图集分配的 Rust crate,它基于优化的 guillotine 算法,能够高效地分配和释放纹理空间。然后,作者分析了 WebRender 的实际工作负载,发现 slab allocator 算法存在浪费空间的问题,特别是在处理大量小尺寸字形时。为了解决这个问题,作者实现了两种 shelf packing 算法,并通过实验比较了它们的性能和空间效率。最终,作者选择了简单的 shelf packing 算法,因为它在简单性和效率之间取得了良好的平衡,并将其集成到 Firefox 86 中。