An image forming apparatus comprising: a first rendering core for executing data analysis process of an object (a to d) of page description language, PDL, format printing information; a second rendering core for starting a speculative process for generating a Display List (A to D) for the object (a to d) before the data analysis process is completed; and a third rendering core for executing a rendering process based on the Display List (A to D) generated by the second rendering core, wherein: the first rendering core is configured to, (i) acquire, by executing the data analysis process, a rendering command for the object (a to d), the rendering command including a path of the object (a to d) and a first setting value of a graphics attribute; the second rendering core is configured to, (i) generate, after registering the path, the Display List (A to D) using a default setting value of the graphics attribute by the speculative process, (ii) determine, if the default setting value of the graphics attribute is different from the first setting value of the graphics attribute based on the rendering command, that the speculative process for generating the Display List (A to D) is failure, and, if it is determined that the speculative process for generating the Display List (A to D) is failure, (iii) generate the Display List (A to D) again using the first setting value of the graphics attribute based on the rendering command; and the data analysis process by the first rendering core and the speculative process by the second rendering core are executed in parallel processing. a first rendering core for executing data analysis process of an object (a to d) of page description language, PDL, format printing information; a second rendering core for starting a speculative process for generating a Display List (A to D) for the object (a to d) before the data analysis process is completed; and a third rendering core for executing a rendering process based on the Display List (A to D) generated by the second rendering core, wherein: the first rendering core is configured to, (i) acquire, by executing the data analysis process, a rendering command for the object (a to d), the rendering command including a path of the object (a to d) and a first setting value of a graphics attribute; the second rendering core is configured to, (i) generate, after registering the path, the Display List (A to D) using a default setting value of the graphics attribute by the speculative process, (ii) determine, if the default setting value of the graphics attribute is different from the first setting value of the graphics attribute based on the rendering command, that the speculative process for generating the Display List (A to D) is failure, and, if it is determined that the speculative process for generating the Display List (A to D) is failure, (iii) generate the Display List (A to D) again using the first setting value of the graphics attribute based on the rendering command; and the data analysis process by the first rendering core and the speculative process by the second rendering core are executed in parallel processing. the first rendering core is configured to, (i) acquire, by executing the data analysis process, a rendering command for the object (a to d), the rendering command including a path of the object (a to d) and a first setting value of a graphics attribute; the second rendering core is configured to, (i) generate, after registering the path, the Display List (A to D) using a default setting value of the graphics attribute by the speculative process, (ii) determine, if the default setting value of the graphics attribute is different from the first setting value of the graphics attribute based on the rendering command, that the speculative process for generating the Display List (A to D) is failure, and, if it is determined that the speculative process for generating the Display List (A to D) is failure, (iii) generate the Display List (A to D) again using the first setting value of the graphics attribute based on the rendering command; and the data analysis process by the first rendering core and the speculative process by the second rendering core are executed in parallel processing.