Occluder Cache Compression for Pixel Synchronization Graphics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The ROV-enabled AVSM algorithm has high memory bandwidth and computation costs due to the need to load, decode, compress, encode, and store the entire per-pixel dataset for each new node insertion, limiting visual quality in graphics processing.
Innovation Solution
A caching system with special cache flushing methods is implemented to reduce thread divergence and synchronize branching paths, storing new occluders in a separate cache and applying the AVSM algorithm in parallel during cache flush operations, reducing bandwidth requirements and optimizing node insertion processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire per-pixel dataset is loaded, decoded, compressed, encoded and stored for each new node insertion, then the AVSM algorithm can be implemented with pixel synchronization, but the memory bandwidth and computation cost become excessively high
Solution Approach 1:
The patent divides the per-pixel dataset into separate cacheable components (node data, transmittance values, depth information) that can be processed and cached independently. This segmentation allows the system to load only necessary portions of data into caches before compression, reducing the total memory bandwidth required for complete dataset processing during each node insertion operation
Solution Approach 2:
The patent implements preliminary loading and caching of per-pixel data sets before compression operations. By pre-loading data into caches and preparing it for compression in advance, the system reduces the memory bandwidth consumption during actual node insertion operations, as the data is already in cache memory and doesn't need to be repeatedly loaded from main memory
2Manufacturing precision
If the entire per-pixel dataset is processed for each node insertion, then complete and accurate shadowing effects can be achieved, but the computation cost increases significantly
Solution Approach 1:
The patent applies compression and processing operations locally to cacheable data portions rather than processing the entire per-pixel dataset globally. By working with localized cacheable components of the data that are specific to each node insertion, the system maintains accurate shadowing effects while significantly reducing the overall computation cost
Solution Approach 2:
The patent changes the state of data to cacheable formats that are more efficient for compression and processing. By transforming per-pixel data into cacheable representations with optimized parameters for compression algorithms, the system achieves accurate shadowing effects with reduced computation cost
3Adaptability or versatility
If node insertion operations are performed frequently (100+ insertions per texture element per frame), then dynamic volumetric media effects can be achieved, but the overhead limits visual quality at acceptable execution cost
Solution Approach 1:
The patent performs preliminary caching of node data during geometry processing stages, so that during pixel shader execution and node insertion operations, the data is already prepared and available in cache. This preliminary action reduces the overhead of frequent node insertions, enabling dynamic volumetric media effects with 100+ insertions per texture element per frame without limiting visual quality
Solution Approach 2:
The patent segments the node insertion process into cacheable operations that can be performed in parallel and independently. By dividing the insertion overhead into manageable cacheable units, the system can process multiple insertions more efficiently, reducing the time loss associated with frequent operations
Data Source
AI summary
Embodiment described herein combines a caching system with special cache flushing methods aimed at reducing thread divergence across a group of threads in a thread group, in order to synchronize branching paths taken by different threads executing on the same graphics processor execution unit, One embodiment provides for a graphics processing apparatus comprising graphics execution logic to execute one or more threads of a graphics shader program; an occluder cache to store input occluder node data for adaptive graphical effects logic of the graphics shader program; and compression logic to compress input occluder node data stored in the occluder cache. The occluder node data, in one embodiment, includes occlusion data for use with adaptive shadowing or transparency logic.


