Comments (4)
We used to do this, but when I changed it reuse the rows I removed it since I figured:
- We're populating the data on the next frame (via RAF) and inserted directly into the visible space, so I figured it was "always visible and up to date" (on my MacBook I can't repro any scrolling issues, or any white space)
- Rendering another screen above below essentially means 3x as many rows to re-render on every update (at least the way it works now - potentially we could make it re-order them moving from the start to the end, but that's not what it does currently) which seemed like it might make scrolling worse not better
Can you cause issues/stutters/white space when you scroll? Anything specific you're doing (how big is the log, how are you scrolling, etc.?)
from devtools.
I think there's always going to be a frame or two of latency - unrendered, white rows - as we're populating via javascript, and scrolling dom is likely highly optimized in the browser.
I do see what looks like some slight tearing at the top and bottom when I scroll quickly. Some over-rendering above and below would likely take the edge off that? If not a full page above and below, 1/2 page?
Rendering another screen above below essentially means 3x as many rows to re-render on every update (at least the way it works now - potentially we could make it re-order them moving from the start to the end, but that's not what it does currently) which seemed like it might make scrolling worse not better
I think if we did increase the over-rendering, we'd want to try and re-cycle rows that had already been rendered - i.e., just remove a few rows off the top of the table and add a few on the bottom, and not touch ones that were already present.
The tearing on scroll really isn't bad, but we may want to revisit this later to get slightly smoother scrolling.
from devtools.
I noticed the whitespace today playing around with the tool. Good news is there is an easy fix. The scroll event is sync but using RAF causes us to always miss a frame. There are some clever chrome apis if we cared about 60fps but for us I think all that matters is to general avoid flickering and hit at least 20FPS. Note there were a couple years where scroll was async in chrome which was really annoying for framework authors trying to infinite scroll.
https://blog.chromium.org/2016/05/new-apis-to-help-developers-improve.html
from devtools.
The table scrolling looks pretty smooth with the latest DevTools. I'm going to close this issue, as it appears fixed. We can re-open if this is still an issue.
from devtools.
Related Issues (20)
- Devtools is introduced as a plug-in independent of the Flutter SDK HOT 2
- Json type responce stuck in network tab after update flutter version 3.22 HOT 1
- When will devtools be released to the new version HOT 3
- Issues HOT 1
- Property editing of `CrossAxisAlignment` doesn't work
- Memory controls that require a connected application should be hidden in offline mode HOT 1
- Widget Details Tree vertical scrollbar in wrong place
- Deep links page still tries to validate deep links even when a non-flutter app is selected
- rename enhance tracing options to "trace" instead of "track"
- help HOT 1
- Breakpoint hit after delete it HOT 1
- a
- Reporting error: Failed to parse package:apeg/view/suchen.dart.
- [Inspector V2] Inspector panel is empty after changing tab
- [Inspector V2] Overflow error in Widget Tree
- [Inspector V2] RichText is hidden from the widget tree
- vscode focus on press widget (vscode)
- Gokul Santol Dev Tool
- [Flaky integration test] `packages/devtools_app/integration_test/test/live_connection/service_extensions_test.dart`: "A SemanticsHandle was active at the end of the test."
- Export processed app size data report HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from devtools.