McManning / McManning/Coherence
Fix delays when transferring large scenes / transforming many objects at once
Open
Nobody has claimed this yet.
Blender Plugin
- Dominant language
- Python
- Stars
- 30
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
With my mech test scene - I notice a few performance issues that could be improved on:
- During initial scene import to Unity it dumps all the geometry into Blender's outbound buffer queue but nothing is being processed while that's dumping and transferring to Unity - so Blender doesn't get viewport render updates while Unity is adding objects to the scene. This causes a black screen for a longer period of time than I'd like. I'd want the viewport feedback to happen regardless of how backed up any other queue is.
- While selecting all the robot parts (100+) and dragging them around the scene in Blender, the outbound queue overloads and position updates lag a lot. Need a better way of handling this - either by processing the queue while messages are being added to it (instead of waiting for everything to be added and then pump at some timed interval) or reducing the frequency of redundant message updates (e.g. aggregate what objects need transform updates to be transferred - and then the next time we pump the queue via Python we add all those to it). Idea 1 seems like a better/easier route imo.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the outbound buffer queue during initial scene import and while many objects receive transform updates. Compare how viewport feedback and queued updates behave in both cases; done means viewport rendering is not blocked by queued transfers and large multi-object transforms no longer experience the reported delays.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- blender, python, unity
- Domain
- desktop, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100