A method performed by a graphics processor for updating a Bounding Volume Hierarchy, BVH, comprising the steps of: obtaining a starting BVH, being a data structure comprising nodes (202, 204, 206) representing different 3D regions of space in a modelled environment, the data structure comprising a tree in which the nodes are arranged hierarchically from a root node down to a plurality of leaf nodes, wherein the region modelled by each leaf node encompasses at least one primitive or part of a primitive; performing one or more iterations, starting with a first iteration which starts with the starting BVH as a current BVH, each iteration comprising: - for each respective one of a plurality of input nodes in the tree of the current BVH, searching for at least one respective candidate reinsertion which would move the respective input node from an old parent to a new parent in the tree, and which compared to the current BVH would reduce an expected computational cost of searching the tree to determine whether a modelled ray would intersect with one of the primitives, according to a metric for estimating the expected computational cost; and - performing at least a first update to update the current BVH with one or more selected reinsertions selected from among the candidate reinsertions; characterized in that, in the search for candidate reinsertions, either or both of: - the new parent is limited to being related to the old parent by an ancestor at no more than a predetermined number of hierarchal levels above the old parent in the tree of the current BVH, and/or - the input nodes are limited to being at or above a hierarchical level in the tree of the current BVH a predetermined number of hierarchical levels below the root node, thereby restricting a scope of the searching to a subset of the nodes of the current BVH. being a data structure comprising nodes (202, 204, 206) representing different 3D regions of space in a modelled environment, the data structure comprising a tree in which the nodes are arranged hierarchically from a root node down to a plurality of leaf nodes, wherein the region modelled by each leaf node encompasses at least one primitive or part of a primitive; performing one or more iterations, starting with a first iteration which starts with the starting BVH as a current BVH, each iteration comprising: - for each respective one of a plurality of input nodes in the tree of the current BVH, searching for at least one respective candidate reinsertion which would move the respective input node from an old parent to a new parent in the tree, and which compared to the current BVH would reduce an expected computational cost of searching the tree to determine whether a modelled ray would intersect with one of the primitives, according to a metric for estimating the expected computational cost; and - performing at least a first update to update the current BVH with one or more selected reinsertions selected from among the candidate reinsertions; - for each respective one of a plurality of input nodes in the tree of the current BVH, searching for at least one respective candidate reinsertion which would move the respective input node from an old parent to a new parent in the tree, and which compared to the current BVH would reduce an expected computational cost of searching the tree to determine whether a modelled ray would intersect with one of the primitives, according to a metric for estimating the expected computational cost; and - performing at least a first update to update the current BVH with one or more selected reinsertions selected from among the candidate reinsertions; characterized in that, in the search for candidate reinsertions, either or both of: - the new parent is limited to being related to the old parent by an ancestor at no more than a predetermined number of hierarchal levels above the old parent in the tree of the current BVH, and/or - the input nodes are limited to being at or above a hierarchical level in the tree of the current BVH a predetermined number of hierarchical levels below the root node, - the new parent is limited to being related to the old parent by an ancestor at no more than a predetermined number of hierarchal levels above the old parent in the tree of the current BVH, and/or - the input nodes are limited to being at or above a hierarchical level in the tree of the current BVH a predetermined number of hierarchical levels below the root node, thereby restricting a scope of the searching to a subset of the nodes of the current BVH.