Parallel Rendering Cores Speculative Display List Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In image forming processes based on PDL, existing techniques are limited by sequential processing of vector rendering commands, which hinders the speed of generating Display Lists and subsequent rendering, as they require receiving a rendering command before proceeding, leading to inefficiencies in the overall image forming process.
Innovation Solution
The implementation of a rendering core module with multiple cores that perform data analysis and speculative Display List generation in parallel processing, allowing the second rendering core to generate Display Lists without waiting for a rendering command from the first core, thereby speeding up the image forming process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If sequential processing of vector rendering commands is used, then processing accuracy is maintained, but processing speed deteriorates
Solution Approach 1:
The patent segments the rendering process into two independent parallel streams: a first rendering core that receives and processes rendering commands sequentially to ensure accuracy, and a second rendering core that speculatively generates Display Lists in parallel without waiting for commands. This segmentation allows the system to maintain processing accuracy in the first core while achieving speed improvement through parallel speculative execution in the second core.
Solution Approach 2:
The second rendering core performs preliminary speculative generation of Display Lists before actual rendering commands are received. By pre-generating Display Lists speculatively, the system prepares rendering data in advance, reducing waiting time and improving overall processing speed while the first core validates the actual rendering commands to maintain accuracy.
2Productivity
If parallel processing with speculative Display List generation is implemented, then productivity is improved, but device complexity increases
Solution Approach 1:
The rendering core module is segmented into two specialized cores with distinct functions: the first rendering core handles command validation and sequential processing, while the second rendering core handles speculative Display List generation. This functional segmentation improves productivity by enabling parallel processing while managing complexity through clear separation of concerns and defined interfaces between cores.
3Loss of time
If multiple rendering cores process data in parallel, then processing time is reduced, but system complexity increases
Solution Approach 1:
The second rendering core performs preliminary speculative generation of Display Lists in parallel with the first core's command processing. This preliminary action reduces processing time by preparing rendering data in advance, while system complexity is managed through coordinated execution and validation between the two cores, ensuring that speculative results are verified before final output.
Solution Approach 2:
The system implements feedback mechanisms where the first rendering core validates rendering commands and can correct or reject speculative Display Lists generated by the second core. This feedback loop ensures processing accuracy is maintained despite parallel speculative execution, while the coordinated feedback between cores manages system complexity through defined validation and correction protocols.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
Provided is an image forming apparatus for further speeding up an image forming process. A first rendering core (117A) of a rendering core module executes data analysis of an object of PDL format printing information. A second rendering core (117B) executes a speculative process for generating a Display List (A to D) for an object (a to d). A third rendering core (117C) executes a rendering process for a printout or display output based on the Display List (A to D) generated by the second rendering core (117B). In addition, data analysis by the first rendering core (117A) and the speculative process by the second rendering core (117B) are executed in parallel processing. As a result, the second rendering core (117B) can execute the generation of a Display List (A to D) by a speculative process even without receiving a rendering command from the first rendering core (117A).