Global Composition System Rendering Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing devices face inefficiencies in resource management and rendering due to multiple composition engines operating independently, leading to redundancies and increased resource consumption, which is particularly problematic for 'thin' devices with limited resources.

Innovation Solution

A global composition system is implemented, using a single composition engine accessible via APIs to manage rendering for multiple processes, sharing compositional resources through a writer/reader paradigm, and optimizing resource usage by performing global optimizations such as occlusion detection and mixing content from multiple processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple composition engines operate independently to render elements for different applications, then each application can be rendered independently, but resource consumption increases and rendering redundancies occur

Engineering Contradiction:
Improveindependent application renderingVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple independent composition engines into a single shared composition engine that serves multiple applications. This unified engine manages compositional resources centrally, eliminating redundancies and reducing overall resource consumption while maintaining the ability to render elements for different applications independently through its compositional tree structure.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The single composition engine is designed with universal functionality to handle rendering requests from multiple different applications. It provides a unified interface that can accommodate diverse rendering needs while sharing common compositional resources, thereby achieving multi-functionality without requiring separate dedicated engines for each application.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If multiple composition engines operate independently, then application functionality is maintained, but rendering redundancies and inefficiencies increase

Engineering Contradiction:
Improveapplication functionalityVSAvoidrendering efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By combining multiple composition engines into one unified engine, the system eliminates redundant rendering operations. The single engine maintains a global compositional tree that coordinates rendering across applications, ensuring that elements are rendered only once and shared appropriately, thereby significantly improving rendering efficiency while preserving application functionality.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The composition engine implements a feedback mechanism through its compositional tree structure, where rendering decisions for one application can influence rendering decisions for other applications. This feedback loop allows the system to optimize rendering efficiency by avoiding redundancies while maintaining the required application functionality through coordinated resource sharing.

Inventive Principle:
Principle #23Feedback

3Use of energy by moving object

If a single composition engine is used for multiple applications, then resource consumption is reduced, but access control and security management become more complex

Engineering Contradiction:
Improveresource consumptionVSAvoidaccess control mechanism
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent segments the compositional tree into different regions or nodes that can be associated with specific applications or users. This segmentation allows the single composition engine to manage access control by restricting access to specific portions of the compositional tree based on user permissions, thereby simplifying security management while maintaining resource sharing benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The composition engine introduces an intermediary layer in the form of a compositional tree that mediates between multiple applications and the rendering system. This intermediary structure manages access control by controlling which applications can access which compositional resources, simplifying security management while enabling efficient resource sharing across applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If compositional resources are shared between applications, then rendering efficiency is improved, but synchronization and coordination requirements increase

Engineering Contradiction:
Improverendering efficiencyVSAvoidsynchronization mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The compositional tree structure provides a dynamic framework for resource sharing, where the system can automatically adjust access rights and rendering priorities based on real-time application needs. This dynamic capability allows efficient resource sharing while managing synchronization complexity through adaptive rather than rigid coordination mechanisms.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9542906B2Shared compositional resources
Publication Date: 2017.01.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9542906B2 patent drawing
  • US9542906B2 patent drawing
  • US9542906B2 patent drawing

AI summary

Shared compositional resources are described. In one or more implementations, a global composition system may be configured to perform rendering for a plurality of processes, e.g., applications. For example, the global composition system may be configured to expose one or more application programming interfaces (APIs) that are accessible to the processes. The APIs may then be used to cause a single composition engine to perform the rendering for the plurality of applications. Thus, the single composition engine may be leveraged to support a variety of functionality, such as to manage sharing of compositional resources by a plurality of processes. This sharing may be performed in a variety of ways, which may include use of a writer/reader paradigm.