Electronic Document Row Height Caching and Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In electronic spreadsheets, determining appropriate row heights can be challenging due to the need to render and cache information for cells that may not be currently visible, leading to inefficiencies and inconsistencies in the display of row heights when scrolling through large datasets.
Innovation Solution
Implementing a system that uses a model-view-controller approach to manage row heights by caching determined row heights, marking 'dirty' rows that require re-rendering, skipping empty cells, and performing batch row height measurements to reduce unnecessary browser layouts and maintain consistent row heights across sessions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If row heights are determined by rendering all cells in a row to find the maximum height, then accurate row height determination is achieved, but rendering performance deteriorates due to the need to render entire rows even when only portions are visible
Solution Approach 1:
The patent divides the spreadsheet into visible and non-visible portions, and further segments rows into cells that need rendering versus empty cells. By identifying and skipping empty cells during the row height determination process, the system avoids unnecessary rendering operations while still accurately determining the maximum cell height in each row, thus resolving the contradiction between measurement precision and rendering performance
Solution Approach 2:
Instead of rendering all cells in a row to determine row height, the patent applies partial action by selectively rendering only non-empty cells. The system identifies empty cells and skips their rendering, performing the minimum necessary action (rendering only cells with content) to achieve accurate row height determination, thereby improving rendering performance without sacrificing measurement accuracy
2Reliability
If the spreadsheet is re-rendered whenever data changes to ensure accuracy, then data consistency is maintained, but rendering time increases significantly
Solution Approach 1:
The patent implements preliminary action by pre-rendering a buffer area around the current viewport before the user actually needs to see it. This anticipatory rendering ensures that when the user scrolls or navigates, the data is already prepared and displayed immediately, maintaining data consistency while reducing perceived rendering time. The system proactively prepares content in advance rather than waiting for user interaction to trigger rendering
Solution Approach 2:
The system uses periodic action by implementing event-driven rendering that triggers only when specific conditions are met (data changes, user interaction). Instead of continuous or excessive rendering, the system periodically updates the view based on actual needs, maintaining data consistency while minimizing unnecessary rendering operations and reducing overall rendering time
3Ease of operation
If row heights are dynamically adjusted based on content, then content visibility is improved, but visual consistency deteriorates due to sudden row height changes when scrolling
Solution Approach 1:
The patent applies preliminary action by pre-determining and caching row heights during the initial rendering phase. When the spreadsheet is first loaded or updated, the system calculates and stores the appropriate row heights for all rows. This pre-computation ensures that when users scroll through the document, row heights remain consistent and predictable, preventing sudden visual changes while maintaining content visibility
Data Source
AI summary
A computer-implemented method for managing row height in an electronic document includes receiving, at a computing device, a request to display a portion of a document that defines a plurality of rows of content and that is represented by a document model; determining heights of the plurality of rows and saving information about the determined heights in a cache that correlates rows to the height information; and using the document model and the cache to generate a view of the document model having the determined row heights.


