1. An image generation engine capable of generating images for a host application from procedural data in the form of sequential graphs having simple nodes, intermediate result nodes and final result nodes, comprising: at least one microprocessor; a list of instructions; an image generation, sequential procedural graph traversal module, adapted to receive at least one image generation, sequential procedural graph G from a host application and to traverse this graph and at least one rendering list L0 containing the still outstanding image generation requests; an intermediate result computation module, for computing intermediate results corresponding to nodes in the image generation, sequential procedural graph; an intermediate result rendering time computation module; an intermediate result weight computation module; a memory module for storing the image generation, sequential procedural graph G; a memory module for storing a rendering list L0 containing still outstanding image generation requests received from a host application; a memory module for storing a list L1 of intermediate results; a memory module for storing a list L2 of rendering times of intermediate results; a memory module for storing a list L3 of weights of intermediate results; a memory module for storing a list M of intermediate result images; and a comparison and deletion module adapted to compare the memory space available for storing new intermediate result data or previously existing data with a given minimum threshold, and delete intermediate result data if said memory space available for storing new intermediate result data is below said threshold.