Graphics Page Preloading via Scene Characterization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The rapid increase in data requirements for computer systems leads to performance degradation when rendering scenes with significant changes, causing numerous page faults and stalling or hesitation in graphics rendering due to the limited capacity of DRAM and slower access times of hard disk drives.

Innovation Solution

Pre-loading data needed by the graphics processor for upcoming scenes by determining potential scene changes and tracking page usage with bit vectors to distribute page faults across multiple frames, ensuring only necessary data is swapped in from disk and infrequently used data is removed or written back.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If demand-based systems swap in data only when needed, then memory usage is optimized, but graphics performance degrades when scenes change considerably

Engineering Contradiction:
Improvememory usageVSAvoidgraphics performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-loading data for potential upcoming scenes into memory before they are actually needed. This anticipatory approach ensures that when scene changes occur, the required data is already resident in memory, preventing performance degradation while maintaining efficient memory utilization through selective pre-loading based on scene analysis.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is swapped in from disk when needed, then data availability is ensured, but access time increases due to disk latency

Engineering Contradiction:
Improvedata availabilityVSAvoidaccess time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system anticipates future data needs by analyzing scene graphs and determining which data will be required for upcoming scenes. This data is pre-loaded from disk into memory in advance, ensuring data availability while eliminating the time penalty of disk access during actual rendering operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediate layer of prediction and analysis between the disk storage and the graphics processor. By using scene graph analysis to predict data requirements and pre-loading accordingly, the system mediates between slow disk access and fast rendering requirements, ensuring data is available in memory when needed without continuous disk checking.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If all necessary data is kept in memory, then access speed is maximized, but memory capacity is exceeded

Engineering Contradiction:
Improvedata access speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Instead of loading all possible data, the system performs preliminary analysis of scene requirements to identify only the specific data needed for upcoming frames. This selective pre-loading approach ensures that memory contains exactly the right data at the right time, maximizing access speed while maintaining efficient use of limited memory capacity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different strategies to different data based on its predicted usage. Data likely to be needed soon is pre-loaded into memory for fast access, while data not expected to be needed is kept on disk. This localized optimization ensures high-speed access for critical data while conserving memory capacity.

Inventive Principle:
Principle #3Local quality

4Productivity

If scene changes are predicted and data pre-loaded, then graphics performance is maintained, but computing resources are consumed for prediction

Engineering Contradiction:
Improvegraphics performanceVSAvoidcomputing resource usage
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system introduces a lightweight scene graph analysis intermediary that operates on simplified scene representations rather than full scene data. This intermediary efficiently predicts data requirements with minimal computational overhead, maintaining graphics performance while consuming acceptable computing resources for the prediction process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs partial scene analysis rather than complete rendering to predict data needs. By analyzing only the necessary portions of scene graphs to identify data requirements, the system achieves accurate predictions with reduced computational effort, maintaining graphics performance while optimizing resource usage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7809904B1Page preloading using page characterization data
Publication Date: 2010.10.05 NVIDIA CORP
  • US7809904B1 patent drawing
  • US7809904B1 patent drawing
  • US7809904B1 patent drawing

AI summary

Circuits, methods, and apparatus that pre-load data that may be needed by a graphics processor to render upcoming scenes. One example determines one or more possible upcoming scenes or views. To save computing resources, the possible upcoming scenes are not fully rendered, but the addresses, and corresponding pages, of data that would be needed to render the scenes are determined. Page usage information is also gathered. Pages that would be needed to render the upcoming scenes, but which are not resident in memory, are read in from a disk drive and stored in memory before they are needed. Pages that are infrequently used are removed from physical memory. In this way, when the scene changes, a large number of page faults do not occur in one frame, rather, they are distributed among several frames.