Blender 导入 USD 场景速度慢的奇特案例
2024-12-22
一位开发者在使用Blender导入USD场景时,遇到了导入速度极慢的问题。通过性能分析,他发现瓶颈在于Blender内部的ID排序函数`id_sort_by_name`。该函数原本预期为O(N)复杂度,但由于USD文件中的命名方式导致其退化为O(N^2)复杂度。开发者通过修改命名方式和优化排序算法,成功将导入时间从4分40秒缩短到8秒(对于较小的文件)。然而,他发现问题根源在于Blender对ID的排序要求,并提出了使用Trie树或哈希表等数据结构来替代当前的链表结构的建议。
开发
USD