Patent ID: 8488154

Claim:
An image forming apparatus comprising: an intermediate language data generating unit configured to generate intermediate language data per predetermined unit using software of an information processing controller; a hardware rendering unit configured to execute rendering using hardware of the information processing controller based on the intermediate language generated by the intermediate language data generating unit; a detecting unit configured to detect an interrupt by an event having higher priority than the rendering; a suspending unit configured to suspend the rendering being executed by the hardware rendering unit if the interrupt is detected while the hardware rendering unit is executing the rendering; an executing unit configured to execute a process based on the event having higher priority than the rendering when the detecting unit detects the interrupt; a software rendering unit configured to execute rendering using the software of the information processing controller based on the intermediate language data generated by the intermediate language data generating unit, if the interrupt is detected by the detecting unit while the hardware rendering unit is executing the rendering, a restarting unit configured to cause the hardware rendering unit to restart the suspended rendering upon completion of the process by the executing unit; and a storing unit configured to store information indicating whether or not the intermediate language data per predetermined unit is generated and whether or not rasterized data is generated based on the intermediate language data in an associated manner, wherein the intermediate language data generating unit generates the intermediate language data based on the information stored by the storing unit using the software upon completion of the rendering by the software rendering unit before the hardware rendering unit restarts the suspended rendering, the intermediate language data not being generated based on page description language data, wherein the software rendering unit converts intermediate language data based on which rasterized data has not been generated into rasterized data based on the information stored by the storing unit using the software upon completion of the rendering by the software rendering unit before the hardware restarts the suspended rendering, and wherein the rendering by the software rendering unit and the rendering by the hardware rendering unit are executed in parallel in a case where the rendering corresponding to the suspended rendering has not been completed by the software rendering unit when the process by the executing unit is completed.