Change viewer update rate to 1.0Hz#239
Merged
Merged
Conversation
iory
reviewed
Dec 30, 2021
|
|
||
| self._redraw = True | ||
| pyglet.clock.schedule_interval(self.on_update, 1 / 30) | ||
| pyglet.clock.schedule_interval(self.on_update, 1.0) |
Owner
There was a problem hiding this comment.
Thanks!
How about making this a variable and making it an argument of the TrimeshSceneViewer class?
Contributor
Author
There was a problem hiding this comment.
Thank you for your review!
I updated in e979d50 (#239)
a75374c to
e979d50
Compare
iory
added a commit
that referenced
this pull request
Jun 2, 2026
The default was lowered to 1Hz in #239 because rendering ran on every refresh tick, pushing idle CPU usage over 300%. Now that rendering is skipped when nothing changed, 30Hz no longer causes that, so restore the original 30Hz default for smooth interaction out of the box.
iory
added a commit
that referenced
this pull request
Jun 2, 2026
* Skip rendering in viewers when nothing changed PyrenderViewer and TrimeshSceneViewer re-rendered the scene on every refresh tick (e.g. 30 times per second) even when nothing had changed, keeping the CPU busy on a fully static view. Skip rendering entirely when self._redraw is False. Also force a redraw in TrimeshSceneViewer.save_image so the captured frame is freshly rendered rather than a potentially stale buffer. * Set default viewer update_interval back to 30Hz The default was lowered to 1Hz in #239 because rendering ran on every refresh tick, pushing idle CPU usage over 300%. Now that rendering is skipped when nothing changed, 30Hz no longer causes that, so restore the original 30Hz default for smooth interaction out of the box. * docs: update viewer update_interval default to 30Hz Reflect the new 1/30 default and note that the viewer only re-renders when the scene changes, so 30Hz no longer keeps the CPU busy on a static view.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When I use
TrimeshSceneViewer, CPU usage is over 300% even when I don't click viewer.After I change the duration from
1 / 30to1.0 / 30, CPU usage is still high.After I change the duration from
1 / 30to1.0, CPU usage is low when I don't click viewer.Setting the duration to 1.0 did not seem to decrease the responsiveness of the viewer to clicks. (I am sorry if I misunderstand
pyglet.clock.schedule_interval)Test code (trimesh_scene_viewer.py)