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

fix(edgeless): fix laggy selection & legacy template rendering #6341

Merged
merged 15 commits into from
Mar 4, 2024

Conversation

doouding
Copy link
Member

@doouding doouding commented Feb 29, 2024

Change

  • Add new method walk into transformer Job to traverse a template (use to modify the snapshot content before importing start)
  • Add property fallback to fix legacy template rendering
  • Add watch decorator to watch element property change
  • Add new local property commands to brush to avoid double computation
  • Fix laggy multi-selection

Copy link

vercel bot commented Feb 29, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
blocksuite ✅ Ready (Inspect) Visit Preview 💬 Add feedback Mar 3, 2024 0:51am
1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
blocksuite-docs ⬜️ Ignored (Inspect) Visit Preview Mar 3, 2024 0:51am

@doodlewind doodlewind added notable Major improvement worth emphasizing dont merge Experimental pull requests labels Mar 1, 2024
@doouding doouding changed the title perf(edgeless): optimize edgeless rendering performance perf(edgeless): fix laggy selection & legacy template rendering Mar 1, 2024
@doodlewind doodlewind removed the dont merge Experimental pull requests label Mar 1, 2024
@doouding doouding changed the title perf(edgeless): fix laggy selection & legacy template rendering fix(edgeless): fix laggy selection & legacy template rendering Mar 1, 2024
Copy link
Member

@doodlewind doodlewind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you elaborate about how the multi-selection is optimized and how is the measured result? Thanks.

It's weird that I haven't observed the laggy case in the windows laptop in current master, so the perf update could really be subjective for the moment.

@doouding
Copy link
Member Author

doouding commented Mar 3, 2024

Could you elaborate about how the multi-selection is optimized and how is the measured result? Thanks.

It's weird that I haven't observed the laggy case in the windows laptop in current master, so the perf update could really be subjective for the moment.

Well, I recorded the performance of the multi-selection action and eliminated the unnecessary render and computation during the action to reduce the frame times. It may still take some time with CPU 6x slow down, but it's better than before optimization.

Before
Screenshot 2024-03-03 at 8 42 03 PM

After
Screenshot 2024-03-03 at 8 42 25 PM

But like you said, the next step that needs to be done more than anything else is a stable performance metrics testing.

@doodlewind doodlewind merged commit b91d7a9 into master Mar 4, 2024
19 checks passed
@doodlewind doodlewind deleted the fix/edgeless-perf branch March 4, 2024 04:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
notable Major improvement worth emphasizing
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

2 participants