Surface Presenter API for Hardware-Accelerated Windowless Display

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvewindowless mode display capabilityVSAvoiddisplay performance
Core Design Contradiction:
Ease of operationVSProductivity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvewindowless mode display capabilityVSAvoidsurface passing time
Core Design Contradiction:
Ease of operationVSLoss of 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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvewindowless mode display capabilityVSAvoidsurface management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9152476B2Interface for displaying content supporting hardware acceleration
Publication Date: 2015.10.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9152476B2 patent drawing
  • US9152476B2 patent drawing
  • US9152476B2 patent drawing

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.