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

Use Bitmap cache for smoother panning #15811

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

dimven-adsk
Copy link
Contributor

Purpose

Building on the logic in #15764, I propose we use the same mechanism that triggers when the number of nodes on canvas is higher than a certain threshold and replace the all node views with rendered bitmaps. Luckily WPF already has an existing mechanism that we can use called BitmapCache. Based on the current zoom, we can vary the resolution of the images and create a pseudo LOD system that switches between a low, medium, high and native scale. I spent a lot of time trying out different scaling options and different ways to trigger the cache and I think that the selected settings strike a good balance between UX and performance.

Here's a preview of the changes below. On the left is the proposed behavior and on the right, the current:
DynamoSandbox_rjHFbME1GB

Declarations

Check these if you believe they are true

  • The codebase is in a better state after this PR
  • Is documented according to the standards
  • The level of testing this PR includes is appropriate
  • User facing strings, if any, are extracted into *.resx files
  • All tests pass using the self-service CI.
  • Snapshot of UI changes, if any.
  • Changes to the API follow Semantic Versioning and are documented in the API Changes document.
  • This PR modifies some build requirements and the readme is updated
  • This PR contains no files larger than 50 MB

Release Notes

(FILL ME IN) Brief description of the fix / enhancement. Use N/A to indicate that the changes in this pull request do not apply to Release Notes. Mandatory section

Reviewers

(FILL ME IN) Reviewer 1 (If possible, assign the Reviewer for the PR)

(FILL ME IN, optional) Any additional notes to reviewers or testers.

FYIs

(FILL ME IN, Optional) Names of anyone else you wish to be notified of

Copy link

github-actions bot commented Feb 6, 2025

UI Smoke Tests

Test: success. 11 passed, 0 failed.
TestComplete Test Result
Workflow Run: UI Smoke Tests
Check: UI Smoke Tests

@dimven-adsk dimven-adsk changed the title Reope/performance faster pan bitmapcache Use Bitmap cache for smoother panning Feb 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants