Eager Block Fetching for Web Data Grids
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web applications using virtualized scrolling in data grids face inefficiencies due to a single block size parameter that is not optimal for all scroll events, leading to multiple roundtrips between the client and server during long scrolls, causing delays and unresponsive scrolling experiences.
Innovation Solution
Implementing a mechanism to differentiate between short and long scrolls, allowing the server to fetch a first amount of data based on one set of parameters for short scrolls and a second amount based on additional parameters for long scrolls, such as a larger data block size or 'megablock', to optimize data retrieval and reduce latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a single block size parameter is used for data fetching, then device complexity is reduced and ease of operation is improved, but scrolling performance deteriorates during long scrolls due to multiple roundtrips
Solution Approach 1:
The system dynamically adjusts the block size parameter based on the detected scroll type. For short scrolls, a smaller block size is used; for long scrolls, a larger block size is used. This dynamic adaptation resolves the contradiction by allowing the system to maintain operational simplicity while optimizing scrolling performance for different user behaviors.
Solution Approach 2:
The invention changes the block size parameter according to the scroll event characteristics. By detecting whether a scroll is short or long and adjusting the block size accordingly, the system improves scrolling performance without significantly complicating the overall operation, thus resolving the contradiction between ease of operation and scrolling performance.
2Quantity of substance
If a smaller block size is used, then memory usage is reduced and initial load time is improved, but multiple roundtrips are required during long scrolls causing delays
Solution Approach 1:
The system dynamically adjusts block size based on scroll distance. For long scrolls, it switches to a larger block size to reduce the number of roundtrips and associated delays, while for short scrolls it maintains a smaller block size to conserve memory. This dynamic approach resolves the contradiction between memory usage and scrolling delay.
Solution Approach 2:
The block size parameter is changed based on the detected scroll type. When a long scroll is detected, the system increases the block size parameter to fetch more data in each roundtrip, thereby reducing total scrolling delay while still managing memory usage effectively through selective parameter adjustment.
3Productivity
If a larger block size is used, then fewer roundtrips are required for long scrolls improving responsiveness, but more client side memory is consumed
Solution Approach 1:
The system uses a dynamic block size that adjusts based on the scroll event. For long scrolls, a larger block size is applied to improve responsiveness by reducing roundtrips. For short scrolls, a smaller block size is used to minimize memory consumption. This conditional parameter adjustment resolves the contradiction between scrolling responsiveness and memory consumption.
4Quantity of substance
If virtualized scrolling is implemented to conserve memory, then initial load time is improved, but scrolling performance deteriorates due to frequent server roundtrips
Solution Approach 1:
The invention introduces dynamic block size adjustment within the virtualized scrolling framework. By detecting scroll type and adapting the block size, the system maintains the memory-saving benefits of virtualized scrolling while improving scrolling performance through optimized data fetching strategies that reduce unnecessary roundtrips.
Solution Approach 2:
The block size parameter is dynamically changed based on scroll characteristics. This parameter adjustment allows the system to maintain virtualized scrolling's memory efficiency while optimizing scrolling performance by fetching appropriate amounts of data in each roundtrip, thus resolving the contradiction between memory consumption and scrolling performance.
Data Source
AI summary
Techniques for improving scrolling performance in a web-based data grid. In one set of embodiments, when a user scrolls through a data grid rendered in a viewport of the user's web browser, client-side code executing in the web browser can detect whether a scroll event has occurred that requires a portion of the viewport to be filled/refreshed with data from a server. The client-side code can further determine whether the scroll event is a short scroll or a long scroll, and can send a request to the server that indicates the type of scroll event. If the scroll event is a short scroll, the server can determine a first amount of data to fetch based on one or more first parameters. If the scroll event is a long scroll, the server can determine a second amount of data to fetch based on one or more second parameters.


