Data Visualization Rendering Code Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Organizations face challenges in efficiently visualizing large and complex data sets, as existing methods struggle to provide meaningful and quick visualization solutions.
Innovation Solution
A data visualization approach that generates GPU or CPU code for drawing shapes based on available hardware, tailoring the code to constant, data-mapped, and animated attribute values, and omitting conditional statements to enhance performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional CPU-based data visualization methods are used, then the system is simple to implement, but the rendering speed and performance deteriorate when handling large data sets
Solution Approach 1:
The patent replaces the traditional CPU-based rendering mechanism with a GPU-based rendering system. The visualization system compiles and executes shader programs on the GPU that directly process large data sets in parallel, substituting the sequential CPU processing mechanism with a parallel graphics processing mechanism. This substitution dramatically improves rendering speed for large data sets while managing complexity through automated shader compilation and hardware detection.
2Productivity
If generic visualization code is used that handles all possible data types, then the code is versatile and adaptable, but the execution speed and performance deteriorate due to conditional statements and type checking
Solution Approach 1:
The patent applies preliminary action by pre-compiling specific visualization code (shaders) for each data type and attribute combination before runtime. The system detects the data types and attributes in advance, compiles the appropriate specialized shader code, and stores it for direct execution. This eliminates the need for runtime conditional statements and type checking, achieving both high productivity and maintained adaptability through pre-prepared specialized code paths.
Solution Approach 2:
The patent changes the parameter of code specialization from generic to type-specific. Instead of using a single generic visualization function with conditional logic, the system generates and executes different shader programs with parameters optimized for specific data types (e.g., integer, floating-point, categorical) and attribute configurations. This parameter change enables direct execution without conditional overhead while maintaining versatility through multiple specialized code variants.
3Reliability
If detailed conditional logic is included to handle all edge cases and data variations, then the code is robust and reliable, but the execution speed deteriorates due to increased branching and computational overhead
Solution Approach 1:
The patent segments the visualization code into multiple specialized shader programs, each handling a specific data type and attribute combination. Instead of one monolithic function with nested conditionals, the system divides the logic into separate compiled shaders that directly handle their specific cases without branching. This segmentation maintains reliability by covering all cases through comprehensive type detection and shader selection, while improving speed by eliminating runtime conditional logic within each specialized path.
Data Source
AI summary
Aspects of the subject matter described herein relate to data visualization. In aspects, a caller sends a request to draw a set of shapes that have a shape type common among the shapes. The request may be for a static drawing or 1 of N animation frames. If the device has a graphical processing unit (GPU) that is available, GPU code is generated for the GPU to draw the set of shapes. Otherwise, CPU code is generated to draw the set of shapes. The drawing code is tailored to the constant, data-mapped, and animated attribute values specified by the caller and omits conditional statements that test values that are computable prior to drawing the shapes.


