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

perf(editor): reduce per frame viewport dom ops #9431

Merged
merged 1 commit into from
Dec 30, 2024
Merged

Conversation

doodlewind
Copy link
Member

@doodlewind doodlewind commented Dec 30, 2024

Currently when panning / zooming on whiteboard, both position and transform of each block component are updated per frame. The positioning part lead to heavy layout costs, which can be reduced.

Before (~35fps):

image

After (~50fps):

image

Tested environment: TibetTravel templet, Windows 11, i5-1130G7 1.1GHz

@doodlewind doodlewind requested a review from a team as a code owner December 30, 2024 09:46
@graphite-app graphite-app bot requested a review from forehalo December 30, 2024 09:46
Copy link

graphite-app bot commented Dec 30, 2024

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

Copy link

codecov bot commented Dec 30, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 51.46%. Comparing base (8b3d999) to head (d4053a3).
Report is 1 commits behind head on canary.

Additional details and impacted files
@@           Coverage Diff           @@
##           canary    #9431   +/-   ##
=======================================
  Coverage   51.46%   51.46%           
=======================================
  Files        2150     2150           
  Lines       97006    97007    +1     
  Branches    16201    16206    +5     
=======================================
+ Hits        49927    49928    +1     
  Misses      45693    45693           
  Partials     1386     1386           
Flag Coverage Δ
server-test 78.07% <ø> (ø)
unittest 30.93% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

graphite-app bot commented Dec 30, 2024

Merge activity

doodlewind added a commit that referenced this pull request Dec 30, 2024
Currently when panning / zooming on whiteboard, both position and transform of each block component are updated per frame. The positioning part lead to heavy layout costs, which can be reduced.

Before (~35fps):

![image](https://github.com/user-attachments/assets/3f6d8a76-26a5-4ed6-a64c-b519a453cbc0)

After (~50fps):

![image](https://github.com/user-attachments/assets/43bc4b0a-db01-4526-8400-2ec95c3bdd0b)

Tested environment: TibetTravel templet, Windows 11, i5-1130G7 1.1GHz
Currently when panning / zooming on whiteboard, both position and transform of each block component are updated per frame. The positioning part lead to heavy layout costs, which can be reduced.

Before (~35fps):

![image](https://github.com/user-attachments/assets/3f6d8a76-26a5-4ed6-a64c-b519a453cbc0)

After (~50fps):

![image](https://github.com/user-attachments/assets/43bc4b0a-db01-4526-8400-2ec95c3bdd0b)

Tested environment: TibetTravel templet, Windows 11, i5-1130G7 1.1GHz
@graphite-app graphite-app bot merged commit d4053a3 into canary Dec 30, 2024
61 checks passed
@graphite-app graphite-app bot deleted the doodl/edgeless branch December 30, 2024 11:07
@forehalo
Copy link
Member

nb

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

Successfully merging this pull request may close these issues.

3 participants