Vertex Data Batch Processing in 3D Graphics Pipeline
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional 3D graphics pipelines process vertex data inefficiently when implemented in a processor, particularly due to excessive random memory accesses and delayed processing times when data is processed in a pipelined fashion rather than in batches.
Innovation Solution
The apparatus and method involve temporarily storing vertex data in a buffer and processing it in batches, allowing for immediate output and processing of the next batch, utilizing a processing unit, extraction unit, and storage units to facilitate efficient batch processing through direct memory access and burst transfers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If vertex data is processed in a pipelined fashion for each element, then the processing structure is simple, but the processing efficiency is low
Solution Approach 1:
The patent segments the processing into distinct functional units (batch constructor unit, processing unit, extraction unit) that operate independently. The batch constructor unit prepares vertex data in batches, the processing unit processes these batches, and the extraction unit extracts results, allowing parallel operation and improving overall processing efficiency without requiring complex inter-element coordination
Solution Approach 2:
The batch constructor unit performs preliminary action by constructing and preparing vertex data batches in advance before they are processed. This pre-processing step organizes data into optimal batches that can be efficiently processed by the processing unit, reducing the complexity of real-time processing decisions
2Productivity
If a batch constructor unit is added to arrange vertex data in batches, then batch processing efficiency improves, but random memory accesses increase and processing time delays
Solution Approach 1:
The patent implements continuity of useful action through overlapping operations: while the processing unit is processing one batch of vertex data, the extraction unit simultaneously extracts the next batch from memory. This parallel operation eliminates idle time between batches, ensuring continuous processing and reducing overall processing time despite the added batch constructor unit
Solution Approach 2:
The extraction unit serves as an intermediary between memory and the processing unit. It buffers and manages the transfer of vertex data batches, smoothing out memory access patterns and reducing the impact of random memory accesses on processing time by preparing data in advance and transferring it systematically
3Productivity
If vertex data is processed in batches with random memory accesses, then processing throughput increases, but memory access overhead increases
Solution Approach 1:
The memory access operation is segmented and assigned to a dedicated extraction unit that operates independently from the processing unit. This separation allows memory accesses to be organized and managed systematically rather than randomly, reducing overhead while maintaining high processing throughput through parallel batch extraction and processing
Data Source
AI summary
An apparatus for and method of processing a vertex in relation to 3 dimensional (3D) graphics pipeline are provided. According to the method, while a processor processes vertex data in units of batches, vertex data corresponding to a batch to be processed next is extracted and temporarily stored in a buffer independently of the processor. If the processor finishes processing of the current batch, the batch stored in the buffer is output so that the processor can immediately process the batch.


