3D 旋转设计

2024-11-06

本文探讨了三种常见的3D模型旋转系统:转盘式、摇臂式和轨迹球式。转盘式旋转绕全局Z轴和局部X轴旋转,无法从任意角度查看模型。摇臂式旋转绕局部X轴和Y轴旋转,允许任意角度旋转,但缺乏路径独立性。轨迹球式旋转将屏幕坐标映射到虚拟球体,可以旋转模型,但最大旋转角度为180º。文章总结了三种旋转方式的优缺点,并建议根据模型是否有关联的真实世界轴来选择合适的旋转系统。

阅读更多
未分类 3D旋转

击败编译器

2024-07-12

本文作者为了提高Uxn CPU解释器的速度,选择使用汇编语言重写了解释器。通过将关键数据存储在寄存器中、使用线程代码消除调度循环等优化,汇编版本的解释器比用Rust编写的解释器速度提升了30%。作者还尝试了其他优化方法,例如扩展RAM存储空间、使所有操作码实现大小相同等,但都没有带来性能提升。

阅读更多
未分类

不要嘲弄快乐有趣的分支预测器

2024-07-03

本文探讨了在AArch64汇编中优化代码时,不当使用分支指令可能导致性能下降的问题。作者通过一个简单的数组求和示例,展示了如何通过减少分支指令数量来提高代码效率。文章还解释了分支预测器的工作原理,以及为什么不匹配的bl/ret指令对会导致性能下降。最后,作者提供了几种优化代码的方法,包括内联函数、使用SIMD指令和手动循环展开。

阅读更多
未分类 AArch64汇编