Graphics API Translator for Virtual Execution Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual execution environments, efficient graphics processing is hindered by the need for frequent translation of non-native graphics instructions, which consumes significant time and resources, especially when running applications across different platforms, leading to a suboptimal user experience.

Innovation Solution

The implementation of speculative group execution logic and differentiated graphics translation techniques, where return API calls are grouped and speculatively executed, and graphics API calls from regular applications and system services are translated differently, with surfaces being translated to host textures instead of surfaces, reducing processing overhead and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If non-native graphics instructions are intercepted and translated to native instructions by host OS logic, then cross-platform compatibility is achieved, but processing time and resource consumption increase significantly

Engineering Contradiction:
Improvecross-platform compatibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary translation of graphics instructions during the API call interception phase, converting non-native instructions to native instructions before execution. This advance preparation eliminates the need for runtime translation, significantly reducing processing time while maintaining cross-platform compatibility through the host OS's graphics API translator.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If graphics API calls from regular applications and system services are treated uniformly, then implementation simplicity is maintained, but graphics performance deteriorates

Engineering Contradiction:
Improvetranslation implementation complexityVSAvoidgraphics performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies differentiated translation strategies based on the caller type: regular applications receive full translation processing while system services receive optimized handling. This local quality approach allows the graphics API translator to treat different callers differently, improving graphics performance for system services without significantly complicating the overall implementation.

Inventive Principle:
Principle #3Local quality

3Reliability

If surfaces are translated to host surfaces, then compatibility with host display systems is maintained, but processing overhead and resource usage increase

Engineering Contradiction:
Improvedisplay compatibilityVSAvoidprocessing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

Instead of translating surfaces directly to host surfaces, the system creates a copy mechanism that translates surfaces to host textures. This copying approach maintains compatibility with host display systems while reducing processing overhead and resource consumption, as texture translation is less resource-intensive than surface translation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9996892B2Apparatus and method for efficient graphics processing in a virtual execution environment
Publication Date: 2018.06.12 INTEL CORP
  • US9996892B2 patent drawing
  • US9996892B2 patent drawing
  • US9996892B2 patent drawing

AI summary

An apparatus and method are described for improving the efficiency of graphics operations in a virtual execution environment. For example, one embodiment of a system comprises: a classification module to detect graphics application programming interface (API) calls in a guest execution environment and responsively classify the graphics API calls as originating from an application or a system component; the classification module to associate information with each of the graphics API calls to indicate whether each of the graphics API calls originated from the application or from the system component; and an enhanced graphics API translator (EGAT) to translate the graphics API calls to a format executable in a host execution environment, the EGAT to identify each of the API calls as originating from the application or the system component using the information associated with the graphics API calls by the classification module, the EGAT comprising: a first translation sequence to translate the graphics API calls to a first set of translated graphics API calls if the graphics API calls originated from the application; and a second translation sequence to translate the graphics API calls to a second set of translated graphics API calls if the graphics API calls originated from the system component, the first set of translated graphics API calls being different from the second set of translated graphics API calls.