Parallel Object Subtree Processing for GPU Rendering Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multiprocessor systems face inefficiencies in graphics rendering due to the need for 'on the fly' data conversion, which slows down the process, as they lack optimization for specialized processing units like GPUs, leading to suboptimal performance.

Innovation Solution

The creation of multiple object subtrees through parallel processing, optimized for specialized processing units such as GPUs, which converts data into formats that maximize speed and efficiency, eliminating the need for real-time conversion during rendering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data conversion is performed on-the-fly during rendering, then the system can handle diverse data formats, but the rendering speed decreases

Engineering Contradiction:
Improvedata format compatibilityVSAvoidrendering speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent applies preliminary action by pre-converting application object tree data into GPU-specific data structures before rendering. The system creates a graphics object tree in advance with data formatted for GPU processing, eliminating the need for real-time conversion during rendering. This pre-processing step ensures data is ready in the optimal format when rendering begins, resolving the contradiction between format adaptability and rendering speed.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If a general purpose processor is used for all processing tasks, then the system has simplified architecture, but specialized processing efficiency is lost

Engineering Contradiction:
Improveprocessor architecture simplicityVSAvoidgraphics processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the processing workload between the general purpose CPU and specialized GPU. The CPU handles high-level application logic and creates the application object tree, while the GPU handles specific graphics rendering tasks using optimized data structures. This segmentation allows each processor to operate in its optimal domain, maintaining architectural simplicity while achieving specialized processing efficiency for graphics tasks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary data structure (the graphics object tree) that bridges the CPU and GPU. This intermediate representation serves as a mediator that translates application-level data into GPU-optimized formats, enabling efficient communication and data transfer between the general purpose processor and specialized processing unit without requiring the CPU to directly manage GPU-specific formats.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If data is pre-converted for GPU optimization, then rendering efficiency increases, but additional processing time is required before rendering

Engineering Contradiction:
Improverendering efficiencyVSAvoidpre-processing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing data conversion during the object tree creation phase, which occurs naturally before rendering begins. By integrating the conversion process into the initial setup rather than treating it as a separate pre-processing step, the system minimizes perceived overhead. The graphics object tree is built with GPU-optimized structures from the start, so the conversion work is done as part of the normal application initialization rather than as additional preparatory processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9001114B1Parallel processing of object subtrees for multiprocessor systems
Publication Date: 2015.04.07 MATHWORKS INC
  • US9001114B1 patent drawing
  • US9001114B1 patent drawing
  • US9001114B1 patent drawing

AI summary

A system may include a memory that stores instructions and a processor to execute the instructions to receive data for graphical rendering and distribute a first portion of the data to a first computation process. The processor may distribute a second portion of the data to a second computation process and create a first data structure via the first computation process using the first portion of the data. The processor may create a second data structure via the second computation process using the second portion of the data and assemble an object tree via a third computation process using the first data structure and the second data structure. The processor may provide the assembled object tree to a browser for rendering a graphical scene.