Skip to content
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] Optimize mesh visibility checks in RFMesh for better performance #1427

Open
jfranmatheu opened this issue Jan 20, 2025 · 1 comment
Assignees
Labels
bug: performance !Priority v3 Applies to RF version 3x

Comments

@jfranmatheu
Copy link
Collaborator

jfranmatheu commented Jan 20, 2025

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.
@jfranmatheu
Copy link
Collaborator Author

I re-open this issue since I'm looking into better related improvements

@jfranmatheu jfranmatheu reopened this Jan 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: performance !Priority v3 Applies to RF version 3x
Projects
None yet
Development

No branches or pull requests

1 participant