Portal Layers Reduce Rendering Tree Nodes for GUI Animation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The use of snapshots in graphical user interface (GUI) operations increases computational resources required for rendering, as each snapshot creates new nodes in the graphics rendering and animation (GRA) infrastructure's layer and render trees, leading to memory and processing power demands that grow over time, and is not suitable for dynamic media types like video or audio.

Innovation Solution

Implementing portal layers, which serve as logical references to GUI objects, allowing the operating system to access and process these objects without affecting the application's rules, thereby reducing the need for snapshots and minimizing the size and processing power required for layer and render trees.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If snapshots are used to manipulate GUI objects in the system GUI, then the ability to transform and present GUI objects is improved, but the computational resources (memory and processing power) required increase significantly

Engineering Contradiction:
ImproveGUI object manipulation capabilityVSAvoidcomputational resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent uses snapshots as copies of GUI objects to enable manipulation in the system GUI without modifying the original application's GUI objects. The snapshot mechanism creates a replicated version that can be freely transformed, positioned, and animated while the original object remains protected by the application's rules and assumptions.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent segments the GUI object representation into two separate entities: the original GUI object managed by the application and the snapshot copy managed by the system GUI. This segmentation allows independent handling of each object, enabling system-level manipulations on snapshots while preserving application-level control over originals.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If multiple snapshots are captured over time to maintain updated appearances, then the accuracy of GUI object presentation is improved, but the memory and processing requirements increase progressively

Engineering Contradiction:
ImproveGUI object appearance accuracyVSAvoidprocessing power
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent captures snapshots of GUI objects in advance at key moments when appearance changes occur. By pre-capturing these snapshots before system GUI manipulations are needed, the system prepares the necessary visual representations ahead of time, avoiding the need for continuous or frequent snapshot capture during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent manages snapshot lifecycle by discarding outdated snapshots and recovering/reusing valid snapshots. When a GUI object's appearance changes, previous snapshots are discarded and new snapshots are captured. This selective retention and disposal mechanism prevents unbounded accumulation of snapshot data while maintaining accuracy for current presentations.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If snapshots are used to achieve visual effects like 'popping', then the visual presentation capability is improved, but the layer and render tree complexity increases

Engineering Contradiction:
Improvevisual presentation capabilityVSAvoidlayer and render tree structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces snapshots as intermediary objects between the application's GUI objects and the system GUI manipulation layer. These snapshot intermediaries absorb the complexity of visual effects and transformations, allowing the system GUI to achieve effects like 'popping' without directly complicating the application's original GUI object structure or the core render tree.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10347043B2Core animation portals
Publication Date: 2019.07.09 APPLE INC
  • US10347043B2 patent drawing
  • US10347043B2 patent drawing
  • US10347043B2 patent drawing

AI summary

Improved techniques of managing graphical user interface (GUI) objects based on portal layers (or simply portals) are described. A portal refers to a logical reference to a GUI object specified by an application that enables an operating system to access and process the specified GUI object without affecting any of the rules/assumptions required by the application for the specified GUI object. Portals can assist with reducing computational resources required for rendering by assisting with reducing or eliminating the use of snapshots for rendering. One embodiment includes generating a layer tree; identifying a first sub-tree of the layer tree as portal content; establishing a portal as a reference to the portal content in a second sub-tree of the layer tree; generating a render tree based on the layer tree; rendering the render tree to create an image; and presenting the image on a display.