Document Rendering Fill Compositing Sequence Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-threaded rendering systems, frequent locking is required to update shared fill compositing sequences, leading to performance impairments due to synchronized access and duplication of data, which existing methods cannot efficiently address.
Innovation Solution
The approach involves separating the fill compositing stack into a global compositing set and multiple fillmap compositing sets, generating a global compositing sequence based on object data, and creating references or local compositing sequences for regions, minimizing the need for frequent locking and data duplication.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a single database of fill compositing sequences is used to be updated frequently by multiple parallel threads, then data duplication is minimized, but frequent locking is required which impairs system performance
Solution Approach 1:
The patent divides the single database of fill compositing sequences into multiple separate databases, with each database assigned to a specific thread. This segmentation eliminates the need for frequent locking operations between threads while minimizing data duplication through selective sharing of commonly used sequences. Each thread maintains its own local database for exclusive access, improving overall system performance.
2Loss of energy
If fill compositing sequences are kept in a single database to avoid duplication, then memory usage is reduced, but frequent locking operations are required which reduce parallelism efficiency
Solution Approach 1:
The patent implements a nested database structure where each thread has a local database that can contain or reference fill compositing sequences. Threads can nest references to parent or shared databases when appropriate, allowing efficient memory utilization while avoiding frequent locking. The nested structure enables threads to access commonly shared sequences without exclusive locking when using reference mechanisms.
3Productivity
If multiple threads access shared fill compositing sequences concurrently, then parallel processing speed is improved, but data consistency and synchronization become problematic requiring locking
Solution Approach 1:
The patent assigns different quality levels of data sharing to different threads based on their specific needs. Threads that require frequent updates to fill compositing sequences have dedicated local databases with exclusive access, while threads with read-only or less frequent access patterns can share databases with other threads. This local quality differentiation maintains data consistency for critical operations while enabling high-speed parallel access for less critical operations.
Data Source
AI summary
A method of generating a region-based representation of a document is disclosed. A global compositing sequence is generated based on a predetermined rule, using fill data and at least one compositing operation associated with a plurality of objects of the document, to form an object-based representation of the document. The region-based representation of the document is generated based on a further compositing sequence determined for regions formed using the object-based representation. The method also determines whether at least one of the regions satisfies the predetermined rule using a relative arrangement of the objects in the object-based representation. Where the region satisfies the predetermined rule, a reference to the global compositing sequence is created. Where the region does not satisfy the predetermined rule, a local compositing sequence is generated using fill data and compositing operations associated with the objects contributing to the region.


