McManning / McManning/Coherence

Fix delays when transferring large scenes / transforming many objects at once

Open
#33 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.