Aras

RSS: https://aras-p.info/atom.xml
Aras Pranckevičius 的技术博客,Unity 与 Godot 引擎贡献者,关于图形编程与渲染技术。

Unity浮点数运算真相:MathF、IL2CPP与Burst的性能博弈

文章深入剖析了Unity引擎中浮点数运算的性能陷阱。虽然建议用System.MathF替代UnityEngine.Mathf能提升性能,但实际表现高度依赖后端:Mono下MathF更快但代码生成混乱;IL2CPP下两者差异缩小且MathF有额外初始化开销;Burst编译器则完全优化了单精度运算。作者通过汇编级分析揭示了Unity底层浮点处理的复杂性,提醒开发者不能简单套用通用建议,需根据具体编译后端做性能权衡。
评论点赞收藏61 天前

重制经典:Syntonic Dentiforms Demo 现代化重构

作者回顾并重构了22年前由nesnausk制作的经典Demo Syntonic Dentiforms。原代码基于Windows 32位、Direct3D 9和VS6,使用当时的像素着色器模型2.0及更低版本回退路径。作者重新审视了这段充满历史感的代码,并将其移植到现代平台,体现了对图形学历史的技术致敬与工程实践。
评论点赞收藏124 天前

Rapidhash 移植到 Unity 的实践与思考

作者回顾了过去十年非加密哈希函数的发展,从xxHash到wyhash再到rapidhash。文章主要介绍了rapidhash在Unity中的移植工作,虽然代码量超过500行,但包含了三种变体和多种调整选项,结构紧凑且设计优美。对于关注游戏引擎底层优化和哈希算法演进的开发者来说,这是一篇具有实际参考价值的技术分享。
评论点赞收藏161 天前

两年 Blender VSE 开发回顾

作者回顾了过去两年在 Blender 视频序列编辑器 (VSE) 上的开发历程。尽管 Blender 5.0 已经发布,但作者坦言自己仍在摸索中前行,对项目的复杂性和自身工作的不确定性进行了坦诚的分享。这类来自核心开发者的第一手工程反思,对于关注开源软件内部机制和开发痛点的技术读者具有较好的参考价值。
评论点赞收藏265 天前

OpenEXR 与 tinyexr 库的对比分析

作者对比了官方 OpenEXR 库与轻量级第三方库 tinyexr。tinyexr 优势在于极简,仅需一个源文件即可集成,适合快速上手。但其缺点也很明显:不支持部分压缩模式(如 PXR24, B44, HTJ2K 等),且性能可能不如官方库,对某些冷门 EXR 特性支持也不足。文章核心观点是:在易用性与功能完整性/性能之间做权衡,需根据项目需求选择。
评论点赞收藏266 天前

这么多点肯定超出了范围!

Blender 团队在开发电影《Singularity》期间,发现现有的视频编辑可视化功能(如波形图、矢量示波器等)在处理 HDR 内容时表现不佳。为此,他们进行了改进,使这些工具能更好地支持 HDR 工作流。文章还顺便讨论了在 GPU 上渲染大量点的技术细节。
评论点赞收藏356 天前

浮点图像的无损压缩技术解析

作者受讨论启发,深入研究浮点图像(特别是多通道,如OpenEXR格式)的无损压缩算法。文章回顾了他过去几年在OpenEXR压缩库优化(从zlib切换到libdeflate)方面的经验,并详细分析了针对浮点数据特性的最新压缩测试结果和性能权衡。对于图形程序员、渲染引擎开发者以及关注底层数据压缩效率的技术人员来说,这是一篇极具参考价值的实战分析,提供了关于如何处理高精度图像数据的清晰见解。
评论点赞收藏403 天前

Voronoi、哈希与 OSL:一次渲染器优化的反直觉经历

Blender 开发者 Aras 分享了一次优化 Cycles 渲染器 Voronoi 节点的经验。原本尝试手动添加 SIMD 加速却导致性能下降,经过深入排查,最终发现问题的核心在于哈希函数的选择。Blender 5.0 因此将 Voronoi 节点的哈希函数替换为更快的版本。文章揭示了图形渲染底层优化中,算法选择比盲目使用硬件指令集更关键,具有鲜明的工程实战色彩和技术深度。
评论点赞收藏429 天前

Blender 4.5 将采用 ufbx 重写 FBX 导入器

作者宣布 Blender 4.5 将引入基于 ufbx 的新 FBX 导入器。FBX 虽是 Autodesk 拥有的专有格式且缺乏公开规范,但在 3D 动画交换领域仍广泛使用。此次更新旨在解决旧版导入器的性能问题,并利用 ufbx 处理复杂的解析逻辑,为 Blender 用户提供更稳定高效的 FBX 支持。
评论点赞收藏464 天前

2025年美国新奥尔良之旅

作者陪同去新奥尔良参加工作的家人进行了一周多的美国南部旅行,包括在新奥尔良停留以及驱车前往奥兰多参观肯尼迪航天中心。文章主要展示了一些照片和随想,涉及音乐历史和太空探索兴趣。
评论点赞收藏531 天前

在 Playdate 上实现表面稳定的分形抖动技术

作者尝试将 Rune Skovbo Johansen 提出的表面稳定分形抖动技术移植到单色屏游戏机 Playdate 上。该技术能让抖动点附着在 3D 表面,并根据视距和缩放调整密度。文章提供了实际运行视频和 GitHub 源码,探讨了该技术在硬件限制下的可行性与实现效果。
评论点赞收藏552 天前

在Blender视频序列编辑器中运行Doom游戏

作者展示了如何在Blender的视频序列编辑器(VSE)中运行Doom游戏。核心思路是利用VSE中的Color Strip作为像素显示单元,通过不断改变这些色块的颜色来渲染游戏画面。当在时间轴上缩小视图时,色块标题消失,形成类似屏幕的效果。这是一种利用软件非预期功能进行的创意编程实验,体现了Blender VSE的底层渲染能力。
评论点赞收藏575 天前

代码风格的冗余度之辩

文章探讨了代码风格中“简洁”与“冗长”的两极。一方面是用极少行数实现复杂功能的高密度代码,另一方面是充满抽象层和间接性、让人难以定位核心逻辑的繁琐代码。作者指出这两种极端风格各有优劣,高密度代码难以维护,而过度抽象的代码则增加了理解成本。核心观点在于寻找平衡点,避免走向任一极端,以保持代码的可读性和可维护性。
评论点赞收藏606 天前

Blender VSE 的一年:核心开发者的工程回顾与性能优化启示

Blender 核心开发者 Aras Pranckevicius 回顾了过去一年在视频序列编辑器(VSE)上的工作进展。文章指出 Blender 4.1 到 4.3 版本中 VSE 的重大改进,并强调这些底层优化不仅提升了视频编辑体验,还意外改善了 Blender 其他模块的性能。对于关注 Blender 引擎开发、视频处理技术以及开源软件演进的技术读者来说,这是一份来自核心维护者的一手工程洞察,具有较高的参考价值。
评论点赞收藏632 天前

Debug模式下的向量数学库代码生成分析

作者深入分析了C++中向量数学库在非优化(Debug)构建下的性能表现。指出代码风格的选择会显著影响编译器生成的汇编代码效率,进而导致Debug模式下性能差异巨大。结合Blender图像缩放功能的具体案例,展示了不同实现方式在Sanitizer检测下的行为差异及潜在问题。文章提供了具体的工程实践建议,帮助开发者理解编译器行为并优化底层数学库代码。
评论点赞收藏700 天前

关于 Unity 的随机思考

Aras Pranckevicius 回顾了 Unity 引擎过去十年的问题,指出其从一个小而美的引擎演变成拥有无数问题的庞然大物。文章探讨了这些问题的严重性及可能的解决方案,适合对游戏开发和技术趋势感兴趣的读者深入思考。
评论点赞收藏735 天前

Blender 4.2 视频序列编辑器更新回顾

Blender核心开发者Aras Pranckevicius回顾了在4.2版本中为视频序列编辑器(VSE)所做的改进工作。他提到自己贡献了约一半的VSE相关代码,并指出由于4.2是长期支持版本(LTS),未来三年需持续修复相关问题。文章链接列出了所有VSE更新内容,语气轻松幽默,体现了开发者对项目的投入与责任感。
评论点赞收藏754 天前

2024年吉尔吉斯斯坦植物学之旅

作者分享了一次为期10天的吉尔吉斯斯坦旅行,主要目的是参观天山山脉的脚和山谷。这是一次由当地园丁团体组织的植物学之旅,重点在于观赏装饰性植物的野生生长环境。文章内容主要是图片展示,缺乏深度的技术讨论或独特的工程见解。
评论点赞收藏760 天前

摇动世界:Playdate 演示程序开发实录

作者购买了Playdate掌机,并使用其C语言SDK开发了一个demoscene风格的演示程序。文章分享了初次使用设备的体验,认为设备可爱且SDK简洁实用,主要面向对独立游戏开发、demoscene文化或Playdate硬件感兴趣的开发者群体。
评论点赞收藏817 天前

多线程下sprintf性能缩放异常的深度排查

作者在Mac M1上测试多线程字符串格式化时发现性能极差,深入源码发现是locale相关的互斥锁导致。对比Windows和Linux,发现MSVC的C++20 format库和stringstream存在严重的资源加载锁竞争问题,性能极差。文章通过具体数据和源码分析,揭示了标准库在不同平台多线程下的性能陷阱,强烈建议使用{fmt}库替代。
评论点赞收藏826 天前

我意外地成为了 Blender 视频编辑器的贡献者

作者偶然开始为 Blender 的视频序列编辑器(VSE)贡献代码。尽管他对视频编辑、时间线、调色等专业领域一无所知,但他依然参与了开发。这反映了 Blender VSE 功能页面相当简陋,且社区中可能有很多像他一样意外进入该领域的开发者。
评论点赞收藏921 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。