Partial Display List Replication for Fast Graphical Object Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computer graphics systems face inefficiencies in rendering repeated graphical objects due to high memory usage and performance degradation, especially when dealing with large tiles and complex operations, as they often require re-processing of objects and fail to handle transformations effectively.

Innovation Solution

The Partial Display List Replication (PDLR) method transforms and replicates parts of the display list associated with graphical objects, sharing transformations, fill data, and edge segments to efficiently render repeated objects, determining the optimal representation between pixel and display list formats based on tile size and complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If objects are rendered to pixels at device resolution, then rendering completeness is improved, but memory usage increases significantly

Engineering Contradiction:
Improverendering completenessVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the rendering process into two distinct phases: (1) rendering objects to pixels at device resolution for the first occurrence to ensure completeness, and (2) copying the resulting pixel data to multiple locations for repeated occurrences to save memory. This segmentation allows the system to achieve rendering completeness while controlling memory usage through selective application of each approach.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies copying by rendering the first occurrence of repeated objects to pixels at device resolution, then copying this pixel data to multiple locations on the page. This copying approach ensures rendering completeness is achieved for the original while efficiently distributing the visual result to repeated positions without re-rendering, thereby controlling memory usage.

Inventive Principle:
Principle #26Copying

2Measurement precision

If objects are rendered to pixels at device resolution, then rendering accuracy is improved, but the method cannot handle compositing operations with background correctly

Engineering Contradiction:
Improverendering accuracyVSAvoidcompositing operation compatibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic decision-making through a determination step that evaluates whether objects are repeated before selecting the rendering approach. When repetition is detected, the system dynamically switches to the pixel copying method; when not repeated, it uses traditional rendering. This dynamic adaptation allows the system to maintain rendering accuracy for single occurrences while achieving efficiency for repeated objects, and properly handle compositing operations.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If intermediate formats like run-length encoding are used, then memory efficiency is improved, but the method is limited to upright tiles and simple integer translations

Engineering Contradiction:
Improvememory efficiencyVSAvoidtransformation capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent uses pixel data copying instead of traditional intermediate formats like run-length encoding. This copying approach maintains memory efficiency by avoiding full re-rendering of repeated objects, while simultaneously providing greater versatility by supporting arbitrary transformations (scaling, rotation, skewing) and non-integer translations. The system copies pixel data to multiple locations with applied transformations, achieving both memory efficiency and transformation capability.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If objects are replayed from PDL for repeated occurrences, then flexibility is improved, but performance degrades due to repeated execution of complex operations

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidrendering performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by detecting repeated objects before rendering and preparing their pixel data in advance. Instead of replaying objects from PDL during the rendering phase (which causes performance degradation), the system identifies repeated objects upfront, renders them once to pixels, and then copies the prepared pixel data to multiple locations. This preliminary detection and preparation eliminates repeated execution of complex operations while maintaining processing flexibility.

Inventive Principle:
Principle #10Preliminary action

5Productivity

If display list representation is copied repeatedly, then rendering speed is improved, but memory usage increases for large tiles

Engineering Contradiction:
Improverendering speedVSAvoidmemory usage
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies copying at the pixel level rather than at the display list level. By rendering the first occurrence to pixels and then copying this compact pixel representation to multiple locations, the system achieves fast rendering through memory copying operations while using less memory than storing full display list representations for each repeated object. This pixel-level copying is particularly efficient for large tiles where display list replication would consume excessive memory.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9183645B2System and method for fast manipulation of graphical objects
Publication Date: 2015.11.10 CANON KK
  • US9183645B2 patent drawing
  • US9183645B2 patent drawing
  • US9183645B2 patent drawing

AI summary

A method of repeatedly rendering to a page a group of objects represented by edges, by identifying a first occurrence of the group in a display list by an identifier, associating the identifier with a display list representation of the group, using the identifier to determine locations on the page where the group is to be repeated, determining if the display list representation of the group is to be used to repeat the group at the locations, repeating in the display list the occurrence of the display list representation of the group, the repeated display list representations comprising (a) transformations of the starting locations of the edges making up the group, shared by each of the repeated edges, and (b) fill and level information accessed by reference associated with each of the edges.