Graphics Override System for Visual Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computer graphics processing models face limitations such as the 'too-many-authors' problem, where disparate applications fail to present a unified visual scene, and the 'too many externalities' problem, where applications struggle to handle changes in the computing environment, leading to potential failures and unanticipated behavior.
Innovation Solution
The introduction of a 'graphics override' system that modifies streams of graphics commands on the CPU or GPU to enforce visual paradigms, monitor the computing environment, and support changes without requiring application updates, including the generation of synthetic frames to prevent jerky output and A/B testing for user experience optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If applications are allowed to send graphics commands freely to the GPU, then application flexibility and functionality are improved, but visual consistency and unified presentation deteriorate due to the 'too-many-authors' problem
Solution Approach 1:
The patent introduces a compositor as an intermediary component between applications and the GPU. The compositor receives graphics commands from multiple applications, processes them according to a unified visual paradigm, and generates corrected graphics commands that ensure consistent visual presentation. This mediator resolves conflicts among disparate applications without restricting their individual functionality.
2Reliability
If applications are updated to adapt to environmental changes, then application reliability is improved, but system complexity and update requirements increase due to the 'too many externalities' problem
Solution Approach 1:
The compositor acts as a protective intermediary that shields applications from environmental changes. Instead of requiring applications to be updated when the computing environment changes, the compositor adapts to these changes and translates them into appropriate graphics commands, maintaining application reliability without increasing update requirements.
Solution Approach 2:
The system separates concerns by dividing functionality into distinct components: applications generate graphics commands based on their logic, the compositor handles environmental adaptation and visual paradigm enforcement, and the GPU executes the final rendered output. This segmentation allows the compositor to absorb environmental changes without propagating complexity to applications.
3Ease of operation
If graphics commands are processed strictly according to application hierarchy, then command processing simplicity is improved, but visual quality and transparency effects deteriorate
Solution Approach 1:
The compositor serves as an intelligent intermediary that goes beyond simple hierarchy-based command processing. It analyzes the visual requirements of multiple applications and determines appropriate rendering strategies, including transparency effects, blending modes, and occlusion handling, to achieve high visual quality while maintaining manageable processing complexity.
Data Source
AI summary
Disclosed are “graphics overrides.” An override accepts a stream of graphics commands as produced by an application and then modifies the stream before it is rendered by the GPU. Different overrides perform different modifications. One override can modify a stream of graphics commands in response to another stream. Overrides can enforce conformity with a visual paradigm and, by being modified, can support a change to that paradigm without requiring the applications to change. Overrides can monitor the entire computing environment and improve the response to that environment of a particular application: For example, an override monitors frames as they are produced by an application. If the application cannot keep up with a fixed frame rate, then the override produces “synthetic” frames to take the place of missing frames. Overrides are not restricted to fixing existing problems. Rather, applications can be developed that depend upon the presence of overrides.


