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

Window jitters when resizing #422

Closed
elicwhite opened this issue May 27, 2020 · 1 comment
Closed

Window jitters when resizing #422

elicwhite opened this issue May 27, 2020 · 1 comment

Comments

@elicwhite
Copy link
Collaborator

Environment

  1. react-native -v:
  2. npm ls react-native-macos: 0.61.38
  3. node -v:
  4. npm -v:
  5. yarn --version:
  6. xcodebuild -version:

Issue

When resizing a window with a ScrollView in it the contents constantly rubberband.

jumplist

Steps to Reproduce

  1. Open RNTester (or any app screen with a scrollview)
  2. Resize
  3. 😭
@ghost ghost added the Needs: Triage 🔍 label May 27, 2020
@elicwhite elicwhite changed the title Window Resize Jitter Window jitters when resizing May 27, 2020
@elicwhite
Copy link
Collaborator Author

Duplicate of #322

@elicwhite elicwhite marked this as a duplicate of #322 Jun 2, 2020
christophpurrer pushed a commit to christophpurrer/react-native-macos that referenced this issue Aug 2, 2022
…crosoft#439)"

This change reverts microsoft#459 - but still tries to address the original issues:
- microsoft#422
- microsoft#322

This also addresses an issue when programmatically resizing windows where the RCTRootContentView may end up at the wrong size because an in-flight layout gets resolved after the resize on the main thread.
We now keep sync dispatch on the shadow queue for live resizing windows (to prevent tearing) but also dispatch async (as done on iOS) so the latest new size is sure to win.
The block has a check to bail if the size doesn't change, so this isn't a perf drain running the block twice.
christophpurrer pushed a commit to christophpurrer/react-native-macos that referenced this issue Aug 2, 2022
…crosoft#439)"

This change reverts microsoft#459 - but still tries to address the original issues:
- microsoft#422
- microsoft#322

This also addresses an issue when programmatically resizing windows where the RCTRootContentView may end up at the wrong size because an in-flight layout gets resolved after the resize on the main thread.
We now keep sync dispatch on the shadow queue for live resizing windows (to prevent tearing) but also dispatch async (as done on iOS) so the latest new size is sure to win.
The block has a check to bail if the size doesn't change, so this isn't a perf drain running the block twice.
christophpurrer added a commit to christophpurrer/react-native-macos that referenced this issue Aug 4, 2022
…crosoft#439)" (microsoft#1318)

This change reverts microsoft#459 - but still tries to address the original issues:
- microsoft#422
- microsoft#322

This also addresses an issue when programmatically resizing windows where the RCTRootContentView may end up at the wrong size because an in-flight layout gets resolved after the resize on the main thread.
We now keep sync dispatch on the shadow queue for live resizing windows (to prevent tearing) but also dispatch async (as done on iOS) so the latest new size is sure to win.
The block has a check to bail if the size doesn't change, so this isn't a perf drain running the block twice.

Co-authored-by: Scott Kyle <[email protected]>
shwanton pushed a commit to shwanton/react-native-macos that referenced this issue Feb 13, 2023
…crosoft#439)" (microsoft#1318)

This change reverts microsoft#459 - but still tries to address the original issues:
- microsoft#422
- microsoft#322

This also addresses an issue when programmatically resizing windows where the RCTRootContentView may end up at the wrong size because an in-flight layout gets resolved after the resize on the main thread.
We now keep sync dispatch on the shadow queue for live resizing windows (to prevent tearing) but also dispatch async (as done on iOS) so the latest new size is sure to win.
The block has a check to bail if the size doesn't change, so this isn't a perf drain running the block twice.

Co-authored-by: Scott Kyle <[email protected]>
shwanton pushed a commit to shwanton/react-native-macos that referenced this issue Mar 10, 2023
…crosoft#439)" (microsoft#1318)

This change reverts microsoft#459 - but still tries to address the original issues:
- microsoft#422
- microsoft#322

This also addresses an issue when programmatically resizing windows where the RCTRootContentView may end up at the wrong size because an in-flight layout gets resolved after the resize on the main thread.
We now keep sync dispatch on the shadow queue for live resizing windows (to prevent tearing) but also dispatch async (as done on iOS) so the latest new size is sure to win.
The block has a check to bail if the size doesn't change, so this isn't a perf drain running the block twice.

Co-authored-by: Scott Kyle <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant