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

Optimize Drawing Speed #492

Open
stoplime opened this issue Oct 13, 2020 · 2 comments
Open

Optimize Drawing Speed #492

stoplime opened this issue Oct 13, 2020 · 2 comments

Comments

@stoplime
Copy link

Medium priority optimization
Drawing speed:
When drawing around 1000 basic shapes (I.e lines) the simulation computation speed drops significantly. In some cases, this can cause misinterpretations in algorithm performance and the developer needs to be mindful at the drawing speed of something that seems relatively simple.

There could be a few suggestions for solving this:

  • Group shapes together that are similar (for example, if there are 100 small line segments lined up end to end, it can be grouped together into a single long line.)
  • Limit the number of drawn shapes.
  • Camera occlusion/ frustum culling, where only shapes in the camera view is rendered (not sure if this is already implemented)
  • Levels of detail, where it limits the levels of detail being rendered when they are outside a certain range from the camera.
@mday299
Copy link

mday299 commented Nov 4, 2020

Cesium appears to have some support for this: https://cesium.com/blog/2017/05/05/skipping-levels-of-detail/

This is a major undertaking. SCRIMMAGE ideally, would not be used for rendering anything and we would use something like OpenSceneGraph, Unity, or Unreal for rendering.

@frazierbaker
Copy link
Collaborator

This is a challenging problem. SCRIMMAGE currently uses VTK for its viewer and I don't know if there is a simple solution following any of the paths you have proposed. We are considering moving to a Cesium-based SCRIMMAGE viewer that may take care of some of this, see Michael's comment above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants