Skip to content

[Performance] Optimize mesh visibility checks in RFMesh for better performance #1427

Open
@jfranmatheu

Description

@jfranmatheu

Optimize mesh visibility compute

Related issues: #842 - #1246 - #1423

As the mesh geometry grows, the access to visible_verts, visible_edges and visible_faces is quite time spending, taking precious seconds of time and lastly, lagging the tools. Tools make use of this to know which geometry it can affect to and it can have a great impact when entering the tool, start a tool action and confirm a tool action (you may find different effect depending on the tool as there are many factors involved).

Image

Implications

  • Laggy Tools
  • Bad user experience (no interactive tools + long waits = frustration)

Proposed Solution

  1. [DONE] Improving current functions logic: this can speed up visible_edges and visible_faces by just making a better use of visible verts.
  2. Improvements on the visible_verts logic (and all around is_vis and xform)
  • Use a more efficient structure to compute several data.
  • Multi-processing.
  • Cython, CPython or similar.
  • Caching and partial-updating.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions