Surface Presenter API for Hardware-Accelerated Windowless Display
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Displaying content in a windowless mode by extensions can be resource-intensive and time-consuming, reducing performance for both the host program and the extension due to the frequent passing of surfaces between them.
Innovation Solution
A host program exposes an API that allows a control program to create a surface presenter with buffers to store content, enabling the control program to display content directly in the host program's window without the need for surface passing, leveraging hardware acceleration for improved performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the host program passes surfaces to the extension for content display, then the extension can display content in windowless mode, but resource usage increases and performance decreases
Solution Approach 1:
The patent extracts the surface management functionality from the host program and gives it directly to the extension through the ISurfacePresenter interface. The extension can now obtain surfaces directly without the host program intermediary, eliminating the repeated passing of surfaces back and forth between host and extension, thus reducing resource usage and improving display performance.
Solution Approach 2:
The ISurfacePresenter interface acts as a new intermediary that enables direct surface management by the extension. Instead of the host program constantly mediating surface transfers, the extension uses this interface to autonomously manage surfaces, reducing the overhead of repeated surface passing while maintaining the windowless display capability.
2Ease of operation
If the host program passes surfaces to the extension for content display, then the extension can display content in windowless mode, but the frequency of surface passing increases, consuming more time
Solution Approach 1:
The patent extracts surface management authority from the host program and transfers it to the extension via the ISurfacePresenter interface. This allows the extension to obtain surfaces directly and hold them for extended periods, eliminating the need for frequent surface passing operations and thereby reducing the time lost to surface transfer overhead.
Solution Approach 2:
The extension performs preliminary actions by obtaining surfaces directly through the ISurfacePresenter interface before content rendering begins. By securing surfaces in advance and maintaining them throughout the display process, the extension avoids repeated surface acquisition operations, significantly reducing the time spent on surface passing.
3Ease of operation
If the host program manages surface passing to the extension, then content can be displayed in windowless mode, but device complexity increases
Solution Approach 1:
The patent extracts the complex surface management logic from the host program and consolidates it within the extension through the ISurfacePresenter interface. This centralization reduces the overall system complexity by eliminating the need for the host program to implement and manage surface passing protocols, thereby reducing device complexity while preserving windowless display functionality.
Data Source
AI summary
One or more application programming interfaces (APIs) are exposed by a host program running on a device to facilitate a control program displaying content in a window in which the host program displays content. As part of an API, a method is exposed that the control program can invoke to pass to the host program a definition of a surface presenter to be created by the host program. Additionally, the control program can store content that the control program desires to have presented in a buffer of the surface presenter, and invoke another method exposed as part of an API to pass to the host program an indication of the content that the control program desires to have displayed in the window in which the host program displays content.


