在 Blender 的雕刻模式优化中,最重要的挑战之一是改善系统资源管理。此前,同时进程执行中的阻塞导致了相当大的性能损失。随着新的优化,这些问题已被消除,提供了一种更加流畅和响应式的雕刻体验。
并发对数字雕刻的影响
现代系统配备了多核处理器,能够并行执行多项任务。然而,在早期版本的 Blender 中,画笔评估进程并未针对这种并发执行进行良好优化,导致:
- 处理线程之间的冲突,降低了性能。
- 共享内存管理中的阻塞。
- 画笔应用中的更长等待时间。
“一个高效的系统是能够分配任务而不产生冲突、最大限度利用硬件资源的那种系统。”
瓶颈识别
性能分析显示,画笔计算时间的高达 60% 用于等待内存访问,而不是执行必要的计算。这归因于撤销系统(undo)中的阻塞,极大地减缓了软件的响应速度。
数据结构改进
为了解决这个问题,撤销内存中的线性搜索系统已被替换为基于哈希表的数据结构。这一变化实现了:
- 即时访问信息,无需遍历大量数据。
- 减少处理线程的等待时间。
- 显著改善画笔的响应速度。
减少内存冲突
另一个检测到的问题与内存计数器的同时更新有关。此前,每次画笔生成撤销数据时,都会更新一个全局计数器,从而引发线程冲突。现在,内存计核在所有线程完成计算后才执行一次,从而消除了这些冲突并优化了执行。
共享变量管理优化
即使是一个布尔变量的更新也可能构成并发问题。检测到多个线程在计算光标下平均法线时同时尝试修改一个布尔值。消除这个不必要的变量带来了:
- 画笔评估性能提升 200%。
- 减少画笔应用的延迟。
- 提高并行任务执行的稳定性。
更流畅、无中断的雕刻
凭借这些优化,Blender 中的画笔评估现在更快、更高效,让艺术家能够无中断地工作。这些改进不仅优化了当前性能,还为未来的高级雕刻工具奠定了坚实基础。