Rendering Processor Buffer Overflow Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multipass rendering for three-dimensional computer graphics, the limited buffer capacity leads to buffer overflow issues, causing significant overhead and wasted pixel data due to the need for pass switching only after rasterization, which decreases processing speed and requires repeated rasterization and generation of pixel data.
Innovation Solution
A rendering processor and method that divides the rendering process into multiple passes, using a primitive generating unit, rasterizer, and shader with pipeline processing, where pass switching control is exercised by issuing signals to suspend and resume data generation, allowing for efficient buffer management and direct supply or indirect buffering to prevent overflow.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If pass switching control is performed only after rasterization when buffer overflow is detected, then buffer overflow is prevented, but processing speed decreases due to significant overhead from repeated rasterization and generation of rendering primitives
Solution Approach 1:
The patent applies preliminary action by performing pass switching control before buffer overflow occurs. The buffer management unit predicts buffer capacity limits and issues pass switching signals in advance, allowing the rendering processor to switch passes proactively rather than reactively after overflow detection, thereby preventing wasted rasterization operations and improving processing speed
Solution Approach 2:
The patent implements feedback through the buffer management unit that monitors buffer usage status and provides feedback signals to control pass switching timing. This feedback mechanism enables the system to adjust pass switching decisions based on actual buffer capacity and rendering progress, optimizing the balance between preventing overflow and maintaining processing efficiency
2Reliability
If rasterization is performed in units of rendering primitives, then complete rendering primitives can be processed, but pixel data is wasted when buffer overflow occurs because the number of pixels is unknown until after rasterization
Solution Approach 1:
The patent applies preliminary action by predicting the number of pixels that will be generated from rendering primitives before rasterization completes. The buffer management unit uses this prediction to determine pass switching timing in advance, ensuring that buffer capacity limits are not exceeded while minimizing the discarding of pixel data
Solution Approach 2:
The patent implements partial action by processing only the necessary portion of rendering primitives in each pass based on predicted pixel count. Instead of completing full rasterization of all primitives and then discarding excess data, the system adjusts the scope of rasterization to match buffer capacity, performing only the required partial processing
3Quantity of substance
If a buffer with limited capacity is used to hold intermediate results, then memory resources are conserved, but the number of pixels that can be processed in each pass is limited requiring frequent pass switching
Solution Approach 1:
The patent applies preliminary action by predicting pixel counts and determining optimal pass switching points before buffer overflow occurs. This allows the system to fully utilize the limited buffer capacity without wasting processing cycles, maximizing the number of pixels processed per pass while maintaining reliable buffer management
Solution Approach 2:
The patent implements parameter changes by dynamically adjusting the number of pixels processed per pass based on buffer capacity and rendering characteristics. The buffer management unit modifies processing parameters such as block size and pass timing to optimize buffer utilization and minimize frequent pass switching, thereby improving processing speed within the constraints of limited buffer capacity
Data Source
AI summary
A shader sends a “completely full” signal to a buffer control unit when a head pixel in a first pass input from a DDA arrives at a final stage of a pipeline process. When the head pixel in the first pass arrives at a stage in the middle of the pipeline process, the shader sends an “almost full” signal to the buffer control unit and a primitive generating unit. Upon receiving the “almost full” signal, the primitive generating unit suspends the generation of rendering primitives in the first pass and starts generating rendering primitives in the second pass. Upon receiving the “almost full” signal, the buffer control unit supplies the rendering primitives in the first pass from the setup processing unit to the DDA via a temporary buffer. Upon receiving the “completely full” signal, the buffer control unit switches to a second pass and directly supplies the rendering primitives in the second pass from the setup processing unit to the DDA.


