As production scene complexity and CPU core count increase, the performance of software used to interact with the scenes may not scale accordingly. Filament is Animal Logic’s in-house, USD-based, PyQt lighting DCC, and a key area for improving Filament was increasing performance and responsiveness when working with large production scenes. USD, Qt, and Python all have their own multithreading considerations, requiring coordination between all three to work well. Filament was updated to parallelize USD stage processing to reduce processing time, as well as adopt asynchrony to keep the main GUI thread unblocked, greatly improving artist experience. These updates demonstrate a model for multithreading USD stage access to improve other applications working with USD.
Paper in the ACM Digital Library