A Curious Case of Slow USD Import in Blender

2024-12-22

A developer encountered unexpectedly slow import times when importing USD scenes into Blender. Profiling revealed the bottleneck to be Blender's internal ID sorting function, `id_sort_by_name`. This function, expected to be O(N), degraded to O(N^2) due to the naming scheme in the USD files. By modifying the naming convention and optimizing the sorting algorithm, the developer reduced import times from 4 minutes 40 seconds to 8 seconds for smaller files. However, the underlying issue stems from Blender's requirement for sorted IDs, leading to suggestions for replacing the linked list with a Trie or hash table. This optimization highlights a common challenge in performance tuning: identifying and addressing unexpected complexity.

Read more
Development

QEMU Gains Vulkan Acceleration with VirtIO GPU Driver Update

2024-12-12

QEMU version 9.2.0 and later now supports Vulkan acceleration for VirtIO-GPU thanks to the Venus patches. This represents a significant advancement in Vulkan graphics rendering for QEMU virtual machines. The article details the setup process, including installing necessary packages (Linux kernel 6.13+, QEMU 9.2.0+, Vulkan drivers, etc.), building QEMU from source, and creating a VM image. While virt-manager currently lacks Vulkan configuration support, command-line parameters offer a workaround. Troubleshooting tips are provided, along with notes on current limitations in virt-manager and libvirt.

Read more
Development