1. An image generation method for an image generation engine capable of generating images from procedural data in the form of sequential graphs having simple nodes, intermediate result nodes and final result nodes, wherein the image generation engine: a) receives at least one image generation, sequential procedural graph G from a host application and at least one rendering list L0 containing the still outstanding requests for generating images; b) sets up a list L1 of intermediate results for storage in an intermediate result list module; c) sets up a list L2 of intermediate result rendering times for storage in an intermediate result rendering time list module; d) sets up a list L3 of intermediate result weights for storage in an intermediate result weight module; e) sets up a list M of intermediate result images for storage in an intermediate result image module; and wherein when, after a new intermediate result has been obtained, storing corresponding items that would result in the available memory space being exceeded, a comparison and deletion module: f) performs an identification of the intermediate result having the smallest weight; g) performs deletion of data corresponding to the identified intermediate result having the smallest weight; h) checks the available memory space; i) if the available memory space is greater than a given minimum threshold, the comparison and deletion module ceases to delete the data; and j) if the available memory space is still below the given minimum threshold, the comparison and deletion module continues to step “f” of the method, until the available memory space is below said threshold.