Bitmap Object Cache for Vector Image Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional blitting technologies for rendering display objects on a client computing platform face inefficiencies due to large asset file sizes, inability to scale images, and limited flexibility in editing, especially when converting vector images to bitmap objects.

Innovation Solution

The solution involves recursively rendering and caching bitmap objects based on vector images, where an image list stores references to bitmap objects, and a bitmap object cache is used to store and retrieve these objects, allowing for efficient generation and display of images by comparing generated bitmap objects with cached ones and discarding or updating data as necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If bitmap data is used to draw display objects on screen, then rendering performance is improved, but asset file size increases and flexibility is reduced

Engineering Contradiction:
Improverendering performanceVSAvoidasset file size
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system segments the asset management into multiple levels: vector source data, intermediate bitmap representations at different resolutions, and cached bitmap objects. This segmentation allows the system to store compact vector data while generating bitmaps only when needed and at specific resolutions, reducing overall asset file size while maintaining rendering performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary rendering of bitmap objects from vector data and caches them before actual display needs arise. The bitmap object cache stores pre-generated bitmap representations that can be quickly retrieved and displayed, improving rendering performance while avoiding the need to store all possible resolution variants in advance.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If conventional blitting technology is used to convert vector images to bitmap objects, then image rendering is simplified, but scalability and editability are lost

Engineering Contradiction:
Improveimage rendering simplicityVSAvoidimage scalability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic bitmap generation where bitmap objects are created on-demand from vector source data at the required resolution. The bitmap object cache manages multiple resolution variants dynamically, allowing the system to adapt to different display requirements while maintaining the ability to scale images without loss of quality.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the resolution parameter of bitmap objects based on display requirements. Instead of converting vector images to fixed-resolution bitmaps, the system generates bitmap representations at different resolution levels, allowing scalable image rendering while maintaining rendering simplicity through the caching mechanism.

Inventive Principle:
Principle #35Parameter changes

3Speed

If all bitmap objects are cached in memory, then retrieval speed is improved, but memory usage increases

Engineering Contradiction:
Improvebitmap retrieval speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The bitmap object cache implements local quality by storing bitmap objects with different cache priorities and retention policies based on their usage patterns. Frequently accessed or critical bitmap objects are maintained in memory with higher priority, while less frequently used objects may be stored with lower priority or evicted earlier, optimizing the balance between retrieval speed and memory usage.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10586366B2System and method for display object bitmap caching
Publication Date: 2020.03.10 ELECTRONIC ARTS INC
  • US10586366B2 patent drawing
  • US10586366B2 patent drawing
  • US10586366B2 patent drawing

AI summary

A system and method for recursively rendering, caching, and/or retrieving a display object bitmap is provided. In some implementations, an image may be rendered on a client computing platform using an image list of one or more bitmap objects. The one or more object bitmaps may be generated in response to obtaining information defining a vector image in an image frame in an animation. An image list may be maintained for an image to be rendered based on the vector image of a frame of animation and/or some or all of the frames in the animation. The image list may store one or more references to one or more respective bitmap objects that are associated with the image to be rendered.