-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Performance issue for UsdImagingDelegate::SetTime / UsdImagingDelegate::ApplyPendingUpdates #1813
Comments
Filed as internal issue #USD-7290 |
Hey Zhicheng, do you know if the SdfPathSet change by itself sped things up? We've found that sets aren't always faster than sorted arrays, but if it's faster in this case it seems like a good change. If your CLA is all set it would be great to see a PR for this work. Thanks! |
Hi @tcauchois , I have submitted the PR here: #1815 I have a few tests against our production shot, the |
Closing this out, PR #1815 was merged and released with v22.11. Thanks! |
Description of Issue
Hi,
I was working on a performance issue for production and found that
UsdImagingDelegate::SetTime()
takes a bit longer than expected to run for the first time when user interact the prim, for example, the first time moving a prim in Maya viewport.The USD trace shows that
UsdImagingDelegate::_GatherDependencies()
takes about 1.x~10ms to finish, in our production shot, this method is being called around 12k times, which resulted in 1.2 minutes in total (first image below: USD-20.x) / 39 second (second image below: USD-22.03):We have tried to make improvement to speed up
UsdImagingDelegate::SetTime()
call:SdfPathSet
in_GatherDependencies()
SdfPathSet
would be more efficient:_GatherDependencies()
later would be much faster: this brings in a significant speed up and the total time drops to 10.x second:As a comparison, here is the breakdown matrix based on one of our production shots with 12k prim paths to run:
We are happy to submit the changes for review, but I am creating this issue to share the idea of the improvement, in case there is anything I missed.
Thanks,
Zhicheng
Steps to Reproduce
System Information (OS, Hardware)
OS: CentOS 7.8
Package Versions
Tested in USD-20.11, USD-22.03.
The text was updated successfully, but these errors were encountered: