Object Trees for Multiprocessor Graphics Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems with specialized processing units, such as GPUs, face inefficiencies in graphics rendering due to the need for 'on the fly' data conversion, which slows down the rendering process.

Innovation Solution

Creating an optimized graphics rendering tree that is specifically formatted and organized for the GPU, prior to rendering, to enhance performance by eliminating the need for real-time data conversion and maximizing the GPU's efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is converted on the fly during rendering, then the system can maintain flexibility in data processing, but the rendering speed decreases

Engineering Contradiction:
Improverendering speedVSAvoiddata conversion complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by creating an optimized graphics rendering tree in advance, before the actual rendering process. The CPU prepares the object tree with all necessary data conversions and optimizations beforehand, so that the GPU receives pre-processed data in the optimal format. This eliminates the need for 'on the fly' data conversion during rendering, thereby improving rendering speed while managing complexity through advance preparation.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is pre-formatted for GPU, then rendering efficiency improves, but the initial processing time increases

Engineering Contradiction:
Improverendering efficiencyVSAvoidinitial processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary formatting of graphics data by creating an object tree structure that is optimized for GPU processing before rendering begins. This includes organizing scene objects, materials, and lighting data into a hierarchical tree structure with appropriate data formats. The time investment in this preliminary processing stage is traded off against significantly improved rendering efficiency during the actual graphics rendering process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the scene data in an optimized format (the object tree) that is specifically tailored for GPU processing. Instead of repeatedly converting the same scene data during rendering, the system creates one optimized copy that can be efficiently processed by the GPU multiple times, reducing the time penalty of initial processing while maintaining high rendering efficiency.

Inventive Principle:
Principle #26Copying

3Productivity

If a specialized processing unit is used, then specific tasks are performed more efficiently, but the system complexity increases

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidmultiprocessor system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the graphics processing tasks between two specialized processing units: the CPU for creating and managing the object tree structure, and the GPU for executing the actual graphics rendering. This segmentation allows each processor to be optimized for its specific function, with the CPU handling complex data organization and the GPU handling parallel graphics computations, thereby improving overall task execution efficiency while managing system complexity through clear functional division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The object tree structure serves as an intermediary data structure that bridges the CPU and GPU. It is created by the CPU in a format that is optimized for GPU consumption, acting as a mediator that translates between the general-purpose processing capabilities of the CPU and the specialized graphics processing capabilities of the GPU. This intermediary structure simplifies the interface between the two processors and enables efficient collaboration.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8514247B1Object trees for multiprocessor systems
Publication Date: 2013.08.20 MATHWORKS INC
  • US8514247B1 patent drawing
  • US8514247B1 patent drawing
  • US8514247B1 patent drawing

AI summary

A system includes a memory, a specialized processing unit and a processor. The processor receives data from a user and creates a first set of objects in a first structure based on the data. The system further creates, contemporaneously with the creation of the first set of objects and based on the first set of objects in the first structure, a second set of objects in a second structure, where the second set of objects is optimized for use by the specialized processing unit, and stores the first and second sets of objects in the memory. The specialized processing unit executes an algorithm based on the second set of objects.