Reentrant Window Manager for Visual Effects via Buffer Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Prior art compositing window managers restrict applications from generating visual effects based on prior composited window memory due to centralized management and distinct memory spaces, preventing applications from accounting for occlusion and transparency effects.

Innovation Solution

A reentrant window manager approach that allows applications to composite bitmap objects into an assembly buffer and pass control to a second application for processing hierarchically structured objects, enabling the generation of unique visual effects by referencing the window manager's memory buffer state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized compositing window manager is used to manage all window memory, then memory management is simplified and security is improved, but applications cannot generate visual effects based on prior composited window memory

Engineering Contradiction:
Improvememory management securityVSAvoidapplication visual effect capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary mechanism where the window server captures prior composited window memory into a buffer, and applications can reference this buffer to generate visual effects. This intermediary buffer allows applications to access composited memory without violating the centralized memory management model, thus maintaining security while enabling visual effects.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the memory access rights by separating the composited window memory into a distinct buffer that can be referenced by applications. This segmentation allows the window server to maintain centralized control over memory management while applications can access specific portions of composited memory for generating visual effects like reflections and occlusions.

Inventive Principle:
Principle #1Segmentation

2Reliability

If each application is allocated its own distinct memory space, then memory isolation and security are improved, but applications cannot access prior composited window memory to generate visual effects

Engineering Contradiction:
Improvememory isolationVSAvoidapplication visual effect capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The window server acts as an intermediary that bridges the memory isolation barrier. It captures prior composited window memory into a buffer that applications can reference across memory boundaries. This allows applications to access composited memory for visual effects while maintaining strict memory isolation through the window server's controlled buffer access mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent makes the composited window buffer a universal reference point that any application can access. This universal buffer serves multiple functions: it maintains memory isolation for security while simultaneously enabling applications to generate various visual effects such as reflections, occlusions, and other composited effects based on prior window states.

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

3Productivity

If the window server composites all windows in a fixed back-to-front order, then compositing performance is improved, but applications lose flexibility in controlling the compositing sequence for visual effects

Engineering Contradiction:
Improvecompositing performanceVSAvoidapplication compositing control
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The window server performs preliminary compositing of windows in a fixed back-to-front order to generate the composited buffer. This preliminary action maintains high compositing performance. Then, applications can reference this pre-composited buffer to generate additional visual effects, allowing flexibility without compromising the performance of the base compositing operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the compositing process into two distinct phases: the window server's fixed-order compositing for performance, and application-level compositing using the captured buffer for flexibility. This segmentation allows each phase to optimize independently, with the window server maintaining productivity while applications gain control for visual effects.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9189253B2Reentrant window manager
Publication Date: 2015.11.17 APPLE INC
  • US9189253B2 patent drawing
  • US9189253B2 patent drawing
  • US9189253B2 patent drawing

AI summary

Systems, methods, and computer readable media for implementing reentrant compositing window manager applications are described. In general, techniques are disclosed for using a second application to composite portions of hierarchically structured objects and the window manager to composite certain other portions of the same object. More particularly, a window manager application may be used to composite objects of a first type (e.g., application backing store bitmaps) and then call or invoke a second application to composite objects of a second type (e.g., hierarchically structured objects). The second type of object includes information (e.g., a reference) of the composite window manager's output buffer at the time the second application was invoked. This knowledge may be used by the second application to call back into the window manager in a manner that permits the generation of unique visual effects without violating modern memory management scriptures regarding the separation of application memory spaces.