Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Performance Comparison of Bounding Volume
Hierarchies for GPU Ray Tracing
Daniel Meister
Advanced Micro Devices, Inc.

Jiřı́ Bittner
Czech Technical University in Prague

Secondary rays

Shadow rays

1.0

1.0
0.9

0.8

norm. trace time

norm. trace time

0.9

0.7
0.6
0.5
LBVH
HLBVH
PLOC
ATRBVH

0.4
0.3
0.3

0.4

0.5

0.6
0.7
norm. BVH cost

0.8

PRBVH
PRBVHAS
SAH
SBVH
0.9

0.8
0.7
0.6
LBVH
HLBVH
PLOC
ATRBVH

0.5
0.4

1.0

0.3

0.4

Secondary rays with reordering

0.6
0.7
norm. BVH cost

0.8

0.9

1.0

Shadow rays with reordering

1.0

1.0

0.9

0.9

0.8

norm. trace time

norm. trace time

0.5

PRBVH
PRBVHAS
SAH
SBVH

0.7
0.6
0.5
LBVH
HLBVH
PLOC
ATRBVH

0.4
0.3
0.3

0.4

0.5

0.6
0.7
norm. BVH cost

0.8

PRBVH
PRBVHAS
SAH
SBVH
0.9

0.8
0.7
0.6

LBVH
HLBVH
PLOC
ATRBVH

0.5
0.4

1.0

0.3

0.4

0.5

0.6
0.7
norm. BVH cost

0.8

PRBVH
PRBVHAS
SAH
SBVH
0.9

1.0

Figure 1. The correlation between BVH costs and tracing times for secondary and shadow

rays using binary BVHs. Both the BVH cost and the trace times are normalized by LBVH.

Abstract
Ray tracing is an inherent component of modern rendering algorithms. The bounding volume
hierarchy (BVH) is a commonly used acceleration data structure employed in most ray tracing
frameworks. Through the last decade, many methods addressing ray tracing with bounding
volume hierarchies have been proposed. However, most of these methods were typically1

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

compared to only one or two reference methods. The acceleration provided by a particular
BVH depends heavily on its construction algorithm. Even experts in the field dispute which
method is the best. To add more insight into this challenge, we empirically compare the mostpopular methods addressing BVHs in the context of GPU ray tracing. Moreover, we combine
the construction algorithms with other enhancements such as spatial splits, ray reordering,
and wide BVHs. To estimate how close we are from the best performing BVH, we propose
a novel method using global optimization with simulated annealing and combine it with theexisting best-performing BVH builders. For the sake of fairness and consistency, all methods
are evaluated in a single unified framework, and we make all source code publicly available.
We also study the correlation between tracing times and the estimated traversal cost inducedby the surface area heuristic (SAH).

1.

Introduction

Ray tracing stays at the core of many physically based rendering algorithms. Thesealgorithms model light transport by means of geometric optics, assuming that lighttravels instantaneously through the medium in straight lines. Ray tracing serves as
an underlying engine to find the nearest intersections with scene geometry, to test
visibility between two points, or to find all ray-scene intersections. The challenge isthat we have to trace a large number of rays to achieve plausible results. Therefore, thescene geometry is arranged into various spatial data structures to accelerate the search
for intersections. Modern ray tracing engines almost exclusively employ a bounding
volume hierarchy (BVH) as an acceleration data structure as it provides excellent ray
tracing performance, scalable construction times, and predictable memory footprints.
Over the last two decades, many different algorithms and methods addressing
BVHs have been proposed. Nonetheless, they were tested only in a very limited
setting, often against only one or very few reference algorithms. Moreover, using
a combination of multiple techniques at once is usually simplified to a claim that
individual techniques are orthogonal to each other, which might not be necessarily
the truth in practice.
In this paper, we present a performance comparison of the BVH algorithms andtechniques with a focus on GPU-based methods. To gain more insight into how close
the state-of-the-art techniques are from the optimal BVH for the given scene, we
extend and combine the state-of-the-art BVH build methods that provided the best
currently known BVHs. In particular, we propose a modification of the parallel reinsertion BVH (PRBVH) method that includes a simulating annealing–based global
optimization, and we combine this method with the well-known split BVH (SBVH)
method using spatial splits.
We mainly target offline rendering or static content in interactive or real-time applications, where the BVH is reused many times and thus the build time becomes2Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

negligible with respect to trace times. Therefore, our comparison focuses on the ray
tracing performance that can be achieved using the particular BVH construction algorithm. To make the evaluation more informative, we also briefly discuss the BVH
build times.
We compare the performance of ten different construction algorithms that areeither existing well-known algorithms or newly designed modifications and combinations. For each construction algorithm, we evaluate the ray tracing performanceof resulting BVHs with different branching factors. We also study the influence of
ray reordering on the BVH ray tracing performance. All evaluated methods are implemented in a single unified framework in order to make the comparison as fair as
possible using a path tracer as the target rendering algorithm.
There are several works directly related to our paper. Meister et al. [2021] provided a comprehensive overview of bounding volume hierarchies methods. However,an empirical analysis was missing. Aila et al. [2013] provided a performance comparison focusing on the BVH quality metrics and their correlation with the actual
tracing times limited to binary BVHs. Vinkler et al. [2016] conducted a performancecomparison of bounding volume hierarchies and KD-trees on the GPU.
2.

BackgroundIn this section, we briefly describe the methods that we use for our comparison. For
details, we refer to the individual papers or a recent survey by Meister et al. [2021].
2.1.

Cost ModelWe can estimate the quality of a particular BVH in terms of the expected number ofoperations needed to find the nearest ray-triangle intersection. Using the surface area
heuristic (SAH) [Goldsmith and Salmon 1987], we can express the cost function as
follows:
P SA(Nc )cT +if N is an interior node,SA(N ) c(Nc )Ncc(N ) =
(1)
cI |N |
otherwise,
where c(N ) is the cost of a subtree with root N , Nc is a child of node N , SA(N ) isa surface area of the bounding box of node N , and |N | is the number of triangles innode N . Constants cT and cI express the average cost of the traversal and intersection
steps, respectively. We can remove the recurrence by unrolling:


X
X
1
cT
c(N ) =
SA(Ni ) + cI
SA(Nl )|Nl | ,(2)
SA(N )Ni

Nl

where Ni and Nl are interior and leaf nodes, respectively. This model only roughly
estimates what is happening in reality as it does not take into account many other fac3

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

tors such as the actual ray distribution, occlusions, underlying hardware architecture,or a particular rendering algorithm. However, most of the construction algorithms
minimize this cost function (at least locally) to maximize the actual ray tracing performance. Notice that if we use one triangle per leaf, then the cost function reduces
simply to the sum of the surface areas of the bounding boxes in interior nodes, which
is a fact that some of the construction algorithms exploit.
Modern hardware architectures are equipped with SIMD units that allow the processing of multiple intersections tests at once, for example, in wide BVHs, where asingle ray is tested against multiple bounding boxes. Triangles in leaves are processedin a similar fashion, and thus it is desirable to have the number of triangles alignedwith the SIMD width as the number of executed intersection tests is equal to the SIMD
width. Motivated by this fact, Wald et al. [2008] proposed a modified version of thecost model:




X
X
1
|Nl | cTc(N ) =
SA(Nl )kSA(Ni ) + cI,
(3)
SA(N )kNlNi

where k is the branching factor or the SIMD width. The modified cost mode penalizes
leaves if their sizes are not aligned to k. Notice that we multiply the term by k to makecT independent of k.
2.2.

Construction

We first briefly describe the BVH construction algorithms evaluated in this paper.
Linear BVH Linear BVH (LBVH) is a very fast algorithm that reduces the problemof the BVH construction to the sorting problem. The idea is to sort triangles alonga space-filling curve such as the Morton curve [Morton 1966]. The Morton curve
subdivides space into a uniform grid, where the order along the curve is given by the
Morton codes such that each Morton code corresponds to one cell of the grid. Thereis a simple mapping between cell coordinates and Morton codes by interleaving successive bits of cell coordinates. To construct a BVH over triangles, we approximate
each triangle by a single point (e.g., the centroid of its bounding box), project it to
the corresponding cell to compute its Morton code, and sort the triangles using theMorton codes as sorting keys. The Morton curve encodes an implicit binary BVH
constructed by spatial median splits, where the most significant bit corresponds to the
top-most split and so on. Karras [2012] proposed an algorithm that constructs the
topology of this BVH in a single kernel launch, while the bounding boxes are computed separately in an additional kernel launch in a bottom-up fashion using atomic
counters to prevent race conditions.
HLBVH LBVH is very fast, but it does not take into account the surface area heuristic, and thus the resulting BVHs are of rather inferior quality. To address this issue,
4

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

several researchers proposed to combine LBVH with SAH, which is known as hierarchical LBVH (HLBVH) [Pantaleoni and Luebke 2010; Garanzha et al. 2011].
Garanzha et al. [2011] proposed to construct bottom levels by LBVH and then top
levels in a top-down manner by binning. To reduce the workload for binning, thealgorithm constructs the bottom levels by LBVH using fewer significant bits of Morton codes. Root nodes of bottom-level trees are further fed to binning using moresignificant bits as bin indices. Top levels are constructed level by level using double
buffering, where each level requires a separate kernel launch.
Parallel locally ordered clustering Parallel locally ordered clustering (PLOC)[Meister and Bittner 2018a] is a parallel bottom-up construction algorithm based on
agglomerative clustering. The algorithm starts from the individual triangles by considering them as clusters. Then, in each iteration, it merges multiple cluster pairs
in parallel, repeating this until only one cluster remains, which corresponds to theroot node. The algorithm employs the Morton curve to find the nearest neighbors
efficiently.
Treelet restructuring Treelet restructuring (TRBVH) is a parallel optimization
method that improves the quality of an existing BVH [Karras and Aila 2013]. The
algorithm starts from the leaves and proceeds up to the root until a given treelet size isreached. Then, the treelets are restructured in order to locally minimize the BVH costinduced by a particular treelet. After the treelet is restructured, the algorithm continues one level above and repeats the process. To avoid race conditions, a node is only
processed by the second thread (in the case of binary BVHs) using atomic counters tobe sure that both children were already processed. Karras and Aila [2013] restructured
the treelet in an optimal way regarding the cost function using a dynamic programming approach. Later, Domingues and Pedrini [2015] showed that better results could
be achieved using agglomerative clustering (agglomerative treelet restructuring, ATRBVH), which is simple and thus allows for restructuring large treelets. This approachprovides BVHs of very good quality in reasonable times.
Parallel reinsertion Parallel reinsertion (PRBVH) [Meister and Bittner 2018b] isan optimization algorithm that iteratively modifies the BVH topology by local updates
in order to decrease the global cost. The algorithm iteratively removes whole subtrees
and inserts them into new positions while tracking the cost reduction for each such
update. Thus, the cost function is systematically optimized as we know how exactly
each update will influence the global cost, which is not the case of other methods that
optimize the cost function only locally. The key observation is that we do not need toremove the node to find a new position. This fact allows us to search for new positions
for all nodes in parallel, starting from original positions using simple state logic withparent links. To prevent topological conflicts, we employ atomic locks, prioritizing
nodes with higher cost reduction. The algorithm always admits updates that reduce5Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

the global cost, which guarantees the global cost reduction. However, the algorithm
may get stuck in a local minimum. Therefore, we propose to combine the algorithmwith simulated annealing, which may also admit updates that temporally increase theglobal cost based on the stochastic decision to prevent getting stuck in local minima.
We use the simulated annealing in a similar manner as Kensler [2008] proposed
for the rotation-based optimization. The acceptance probability is given by the Boltzmann factor:(
min(e−∆d/T , 1) T > 0,P (∆d, T ) =(4)0
T = 0,
where ∆d is the difference in surface area of the proposed change and T is the current
temperature. The temperature is a clamped sine function:



2πi
I −i
T (i) = max 0, − sin
Tmax
,
(5)
f
I
where is f is the frequency of the sine function, Tmax is the hottest temperature allowed, i is the current iteration, and I is the total number of iterations.
Nonetheless, in the case of reinsertion, there are two factors that make it more
complicated. The first factor is that the search space is huge, unlike the tree rotations,where the space is limited to the constant number of rotations. Similarly, that is why
the method uses search space pruning [Meister and Bittner 2018b], which should also
be stochastic, as the acceptance. However, we would search practically the whole
space for high temperatures, which is not desirable. This effect is amplified throughmultiple iterations as the original position used for pruning gets worse in each iteration
during the heating phase. Thus, we use probability P (Equation (4)) clamped to
Ppruning (a parameter of typically small value). Note that for the pruning we keep thebest value found so far not necessarily corresponding to the last accepted value, which
may also be negative.
The second factor is the parallel processing, which causes two more issues. First,
in the original algorithm [Meister and Bittner 2018b], there are two locking schemes
to prevent race conditions: aggressive strategy (lock only nodes that are modified) andconservative strategy (lock the modified nodes and all nodes between them). The aggressive strategy is more efficient as it allows to perform more reinsertions in parallel
as fewer nodes are locked. Nevertheless, this approach is not applicable for simulated
annealing because inserting two subtrees into each other may result in a cycle, disconnecting the tree into two separate parts. In the case of hill climbing, these cases will
not happen as they are automatically rejected because they do not provide any cost
reduction. We resolve this issue by using the conservative strategy when the temperature is positive. Second, we need to resolve the conflicts between nodes. Prioritizing
nodes with higher cost reductions would cause the deterministic reinsertions (withpositive cost reduction) to discard most of the stochastic reinsertions (with negative
6

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

cost reduction), resulting in practically no change, assuming that the BVH is already
optimized. During the heating phase, we basically want to worsen the BVH to be able
to improve it later when the temperature reaches zero again. Therefore, during theheating phase, we prioritize nodes with negative cost reduction.
Spatial splits A BVH may adapt poorly to overlapping triangles with nonuniform
sizes or long thin diagonal triangles. We can relax the restriction that each triangle
is referenced only once, allowing us to achieve tighter bounding boxes at the cost ofa higher number of triangle references in leaves. SBVH [Stich et al. 2009] is a topdown construction algorithm that allows, besides standard objects, also spatial splits
in the same manner as in the KD-tree construction, selecting one that minimizes the
BVH cost. This algorithm provides BVHs of the highest quality at the cost of slower
construction and more difficult parallelization. Unlike standard BVHs, BVHs withspatial splits cannot be easily updated by refitting the bounding volumes, which mightcause issues in handling dynamic scenes.
2.3.

Traversal

Traversal on the GPU might be challenging due to warp divergence and incoherent
memory accesses. Aila and Laine [2009] proposed a stack-based traversal algorithmwith persistent warps and dynamic fetch. The algorithm spawns an optimal number ofwarps that fetch rays from the global queue. To prevent warp divergence, the traversal
is divided into two independent loops processing interior and leaf nodes separately(i.e., the while-while traversal). If all active threads in the warp reached leaf nodes,
then the algorithm switches to the second while loop and tests the triangles in the leaf
nodes. Dynamic fetch allows to fetch new rays if a certain number of threads areinactive to keep parallel resources occupied enough.
Lier et al. [2018] proposed a stack-based traversal algorithm for wide BVHs. The
idea is to process a single node by multiple threads in a similar manner as nodes areprocessed on the CPU using SIMD processing.
2.4.

Ray Reordering

Ray reordering is a technique that regroups the rays in order to increase control flow,
increase cache-hit ratios, and decrease warp divergence [Meister et al. 2020]. Using
ray reordering only pays off if the performance gain outweighs additional overhead.
Ray reordering is typically implemented by sorting the rays along the Morton curve.
The crucial part is how the ray as a 5D entity is encoded into a Morton code, which is
not as straightforward as for 3D points.

7

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

3.

Vol. 11, No. 3, 2022
http://jcgt.org

Implementation

In this section, we provide implementations details of the evaluated methods. Mostof the tested methods have publicly available implementations. However, to provide
a fair comparison, we have to use the same settings for all methods, which might bedifficult in different frameworks. Thus, we created a single unified framework withpublicly available implementations of the algorithm integrated into it. Our framework
is based on Aila’s ray tracing framework [Aila and Laine 2009].
Aila’s framework contains high-performance traversal kernels for binary BVHs.
To support wide BVHs, we adopted the publicly available implementations of themethod proposed by Lier et al. [2018]. In the original version of these kernels, theleaf size is limited to the branching factor of the BVHs. We modified the kernels to
support arbitrary leaf sizes.
For LBVH [Karras 2012] and HLBVH [Garanzha et al. 2011], we use our implementation. For PLOC [Meister and Bittner 2018a], ATRBVH [Domingues andPedrini 2015], and PRBVH [Meister and Bittner 2018b], we integrated publicly available implementations into our framework. For SBVH [Stich et al. 2009], we use theimplementation that is available in Aila’s framework [Aila and Laine 2009]. We implemented the collapsing algorithm of Ylitie et al. [2017] to convert binary BVHs towide ones with adaptive leaf sizes while minimizing the BVH cost (Equation (3)).
The data layout (i.e., how nodes are stored in the memory) has a significant impact on
the actual ray tracing performance. Various methods provide BVHs in different datalayouts. Hence, to provide a fair comparison, we transform each BVH to the breadthfirst-search (BFS) layout prior to the actual ray tracing. The nodes are stored in thearray-of-structures fashion, where each node contains bounding boxes of children
and child indices, taking 32k bytes per node for k-ary BVHs.
We implemented a wavefront path tracing with next event estimation on top of our
ray tracing framework. We can optionally use ray reordering to sort secondary andshadow rays. In the case of sorting, we access the rays indirectly through sorted indices in the traversal kernels to minimize the overhead caused by the actual reorderingof the rays [Meister et al. 2020]. We use the compacted Aila’s method to compute theMorton codes. We employ the radix sort algorithm by Merrill and Grimshaw [2011]
for both construction algorithms and ray reordering.
4.

Results and Discussion

We evaluated selected methods on 12 scenes of various complexity (see Figure 2).
The path tracer uses 32 samples per pixel with the next event estimation using two
shadow rays per hit with the maximum recursion depth 8. We do not employ Russian roulette and so in closed interior scenes the maximum recursion depth is often
reached; in exterior scenes, the light paths are significantly shorter. All images were8

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

rendered in 1024 × 768 resolution. The reported numbers are averaged over threedifferent camera views to reduce the influence of view dependency. We evaluated all
methods with and without ray reordering. The reordering overhead is included in trace
times for the sake of fairness; both the traversal and the reordering are implemented
on the same platform, and thus we expect that similar performance results could beobtained using hardware accelerated units for reordering and tracing. All experiments
were executed on the AMD Ryzen 9 5950X CPU and AMD Radeon 6800 XT GPU
and implemented using Heterogeneous-Computing Interface for Portability (HIP) as
part of ROCm 4.4.
We used six construction methods for our experiments: LBVH, HLBVH, PLOC,ATRBVH, PRBVH, and SBVH. We used 60-bit Morton code for LBVH, HLBVH,
and PLOC. For HLBVH, we used 15 bits for the SAH splits. For PLOC, we used a
search radius of 100. For ATRBVH, we used 20 iterations and LBVH for the initialconstruction. For PRBVH, we used four configurations: PRBVH (LBVH as the base
BVH with hill climbing), PRBVHA (LBVH as the base BVH with simulated annealing), PRBVHS (SBVH as the base BVH with hill climbing), and PRBVHAS (SBVH as
the base BVH with simulated annealing). We used f = 50, Tmax = 1, I = 3000, andPpruning = 0.01 for the simulated annealing. For SBVH, we used 128 bins for spatial
splitting. We can disable spatial splits, which is equivalent to the standard full sweep
top-down construction (denoted by SAH). We used cT = 3 and cI = 2 for the BVH
cost computation and optimization. These values were established by experimental
evaluation as maximizing the trace performance on the target platform. We evaluated
all methods using three different branching factors: 2 (binary BVHs), 4 (quaternary
BVHs), and 8 (octal BVHs). (These branching factors are supported by the existing
traversal kernels.)
We present a compact summary of the results in Tables 1 and 2, where the values
are averaged over all scenes. A detailed overview of our results is in Tables 3, 4,
and 5 for branching factors 2, 4, and 8, respectively. For each method, we report the
BVH cost and trace performance for secondary and shadow rays with and without ray
reordering.
4.1.

BVH Cost

PRBVHAS achieves the lowest BVH cost across all configurations, showing that SBVH
can be optimized even further (about 7% on average for binary BVHs). We can observe that the improvement of the BVH cost achieved by simulated annealing is only
marginal. Therefore, we assume that the resulting BVHs are close to the optimal SAH
cost for the given scene. Interestingly, PRBVH and PRBVHA provide binary BVHs
of similar costs as SBVH. SAH, which was for a long time considered as a reference
solution, provides BVHs with relatively high costs on average, higher than PLOC andATRBVH.
9

Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing
Br. Factor
2
4
8

2
4
8

Rays

LBVH

HLBVH

PLOC

SecondaryShadow
SecondaryShadow
SecondaryShadow

1.00
1.00
1.04
0.92
0.98
0.86

1.10
1.08
1.16
1.02
1.08
0.94

1.25
1.32
1.31
1.19
1.21
1.07

SecondaryShadow
SecondaryShadow
SecondaryShadow

1.09
1.23
1.17
1.06
1.08
0.92

1.20
1.33
1.30
1.16
1.19
0.99

1.36
1.58
1.44
1.33
1.31
1.12

ATRBVH

PRBVH

Without Reordering
1.39
1.45
1.39
1.47
1.39
1.49
1.24
1.32
1.31
1.40
1.12
1.17
With Reordering
1.50
1.56
1.64
1.75
1.53
1.62
1.38
1.45
1.41
1.50
1.16
1.22

PRBVHAPRBVHSPRBVHA
S

SAH

SBVH

1.48
1.47
1.50
1.32
1.42
1.18

1.85
1.66
1.76
1.40
1.58
1.23

1.84
1.64
1.74
1.39
1.57
1.22

1.43
1.40
1.41
1.23
1.30
1.10

1.86
1.63
1.73
1.36
1.54
1.19

1.58
1.72
1.63
1.45
1.52
1.22

1.98
1.89
1.90
1.51
1.68
1.26

1.96
1.87
1.88
1.50
1.65
1.25

1.54
1.66
1.54
1.37
1.41
1.15

2.01
1.87
1.88
1.48
1.64
1.22

Table 1. Relative ray tracing performance of BVH builds using the tested construction algo-rithms. The relative trace speed for tracing secondary and shadow rays are shown with andwithout ray sorting using BVHs of different branching factors. The trace speed is normalized
by the speed of the binary LBVH and averaged over all tested scenes.
Scene

LBVH

HLBVH

PLOC

ATRBVH

PRBVH

PRBVHAPRBVHSPRBVHA
S

SAH

SBVH

Sibenik
Crytek Sponza
Conference
Gallery
Happy Buddha
SodahallHairballCrown
Pompeii
San Miguel
ViennaPowerplant
Avg. build time

2.0
2.3
2.6
3.9
4.2
7.3
8.7
15.5
17.5
24.4
27.1
36.7
1.0

7.5
7.9
7.9
11.0
11.3
15.9
17.4
26.1
31.7
38.5
43.2
53.0
2.3

17.2
20.9
21.2
22.0
26.6
35.2
55.1
66.5
63.5
96.3
82.7
129
5.6

8.2
12.8
15.2
21.3
22.9
50.1
60.7
110
145
183
207
292
6.6

22.0
52.0
107
99.0
123
453
543
799
3500
2309
4254
5752
76.1

3843
11218
25215
37018
40294
101822
154483223908325587531512536393837940
13720

2811
6494
4347
20904
19062
29896
219852
51998
74168
78568
77383
147898
5237

7269
19427
30759
63757
62096
140533682155292668421387552505612130907441
22134

281
1266
1561
4915
5494
12024
14049
30168
31482
51540
53257
88119
1444

2801
6467
4271
20851
19004
29575
218225
51623
73344
77480
76493
146337
5196

Table 2. Build times in milliseconds for binary BVHs. The last line shows the average build

times; the times are normalized prior to averaging by a value given by LBVH.

4.2.

Trace Speed

The results show that PRBVHS , PRBVHA
S , and SBVH achieve the highest trace performance. In most cases, PRBVHS performs better than SBVH with the exceptionof secondary rays with binary BVHs, which achieves slightly higher trace speed than
PRBVHS and PRBVHA
S . The results indicate that PRBVH can improve an input
SBVH in some cases. Interestingly, PRBVHA
S is slightly worse than PRBVHS . An
explanation could be that the simulated annealing breaks optimized top-level splits of
the SBVH (see Section 4.3).
We can observe that the trace performance drops significantly with increasing
branching factor for both secondary and shadow rays. This behavior is the mostpronounced for primary rays that exhibit the highest coherence (the tables do notshow numbers for primary rays, as these constitute a small fraction of the render10Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing
Scene
Sibenik# triangles
75k

Crytek Sponza# triangles
262k

Conference# triangles
331k

Gallery# triangles
998k

Happy Buddha# triangles
1087k

Sodahall# triangles
2169k

Hairball# triangles
2880k

Crown
# triangles
4868k

Pompeii# triangles
5632k

San Miguel# triangles
7880k

Vienna# triangles
8637k

Powerplant# triangles
12759kStatistic
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.

LBVH

HLBVH

PLOC

ATRBVH

PRBVH

PRBVHAPRBVHSPRBVHA
S

SAH

SBVH

177 (1.00)
261 (1.00)
604 (1.00)
311 (1.19)
891 (1.47)
268 (1.00)
159 (1.00)
401 (1.00)
205 (1.29)
597 (1.49)
154 (1.00)
278 (1.00)
525 (1.00)
331 (1.19)
836 (1.59)
197 (1.00)
148 (1.00)
355 (1.00)
165 (1.11)
479 (1.35)
204 (1.00)
105 (1.00)
159 (1.00)
98 (0.93)
135 (0.85)
254 (1.00)
220 (1.00)
603 (1.00)
240 (1.09)
667 (1.11)
1233 (1.00)
74 (1.00)
170 (1.00)
79 (1.07)
192 (1.13)
76 (1.00)
94 (1.00)
221 (1.00)
96 (1.02)
227 (1.03)
428 (1.00)
86 (1.00)
190 (1.00)
89 (1.03)
215 (1.13)
251 (1.00)
72 (1.00)
194 (1.00)
84 (1.17)
262 (1.35)
299 (1.00)
101 (1.00)
179 (1.00)
103 (1.02)
195 (1.08)
124 (1.00)
53 (1.00)
190 (1.00)
52 (0.98)
224 (1.18)

139 (0.79)
299 (1.14)
627 (1.04)
351 (1.34)
941 (1.56)
195 (0.73)
190 (1.20)
455 (1.13)
238 (1.50)
678 (1.69)
112 (0.72)
327 (1.18)
648 (1.24)
385 (1.39)
1047 (1.99)
195 (0.99)
149 (1.00)
338 (0.95)
165 (1.11)
458 (1.29)
184 (0.91)
105 (1.01)
161 (1.01)
98 (0.94)
138 (0.87)
217 (0.86)
255 (1.15)
615 (1.02)
272 (1.23)
660 (1.09)
1225 (0.99)
74 (1.00)
169 (1.00)
80 (1.08)
191 (1.12)70 (0.92)
92 (0.98)
221 (1.00)
94 (1.00)
226 (1.02)
314 (0.73)
101 (1.17)
225 (1.19)
103 (1.19)
251 (1.32)
183 (0.73)
87 (1.21)
232 (1.20)
100 (1.39)
313 (1.61)
215 (0.72)
103 (1.02)
194 (1.08)
106 (1.05)
208 (1.16)
111 (0.90)
60 (1.14)
207 (1.09)
61 (1.16)
239 (1.25)

136 (0.77)
302 (1.16)
702 (1.16)
348 (1.33)
1000 (1.66)
168 (0.63)
215 (1.36)
553 (1.38)
271 (1.71)
758 (1.89)
85 (0.55)
384 (1.38)
783 (1.49)
449 (1.62)
1153 (2.20)
188 (0.95)
155 (1.05)
382 (1.08)
172 (1.16)
516 (1.45)
178 (0.87)
108 (1.03)
173 (1.09)
102 (0.97)
150 (0.94)
174 (0.69)
248 (1.13)
721 (1.20)
266 (1.21)
750 (1.24)
1082 (0.88)
71 (0.96)
175 (1.03)
77 (1.04)
202 (1.19)
68 (0.89)
103 (1.09)
254 (1.15)
105 (1.11)
264 (1.20)
201 (0.47)
123 (1.43)
290 (1.53)
126 (1.46)
324 (1.70)
142 (0.56)
103 (1.44)
309 (1.59)
121 (1.69)
396 (2.04)
135 (0.45)
175 (1.74)
334 (1.86)
180 (1.79)
367 (2.05)
78 (0.63)
68 (1.28)
249 (1.31)
67 (1.26)
269 (1.41)

124 (0.70)
334 (1.28)
712 (1.18)
385 (1.47)
1016 (1.68)
162 (0.60)
247 (1.56)
603 (1.50)
302 (1.91)
822 (2.05)
83 (0.54)402 (1.45)
799 (1.52)
468 (1.68)
1178 (2.25)
167 (0.85)
168 (1.13)
392 (1.10)
186 (1.25)
524 (1.48)
168 (0.83)
115 (1.10)
179 (1.12)
107 (1.02)
154 (0.97)
163 (0.64)
284 (1.29)
758 (1.26)
300 (1.36)
772 (1.28)
1051 (0.85)
86 (1.16)
193 (1.14)
92 (1.25)
219 (1.29)
63 (0.83)
109 (1.16)
257 (1.16)
111 (1.18)
269 (1.22)
173 (0.41)
135 (1.57)
308 (1.62)
139 (1.61)
344 (1.81)
136 (0.54)
111 (1.55)
329 (1.70)
129 (1.80)
426 (2.19)
110 (0.37)
192 (1.91)
357 (1.99)
194 (1.93)
377 (2.10)75 (0.61)
81 (1.53)
250 (1.31)
80 (1.52)
258 (1.36)

116 (0.66)
361 (1.38)
773 (1.28)
415 (1.59)
1073 (1.78)
155 (0.58)
251 (1.58)
656 (1.63)
313 (1.97)
880 (2.19)
80 (0.52)
401 (1.44)
821 (1.57)
468 (1.69)
1191 (2.27)
161 (0.82)
176 (1.19)
416 (1.17)
196 (1.32)
553 (1.56)
159 (0.78)
122 (1.16)
184 (1.16)
112 (1.07)
157 (0.98)
143 (0.56)
319 (1.45)
808 (1.34)
331 (1.50)
824 (1.37)
981 (0.80)
91 (1.24)
202 (1.19)
98 (1.32)
229 (1.35)
61 (0.80)
118 (1.24)
267 (1.21)
119 (1.26)
278 (1.26)
159 (0.37)
145 (1.68)
326 (1.72)
149 (1.72)
366 (1.93)
128 (0.51)
128 (1.79)
340 (1.75)
148 (2.06)
445 (2.30)
101 (0.34)
204 (2.03)
380 (2.12)
208 (2.07)
402 (2.24)
69 (0.56)
67 (1.27)
295 (1.55)
62 (1.17)344 (1.81)

114 (0.65)
364 (1.39)
803 (1.33)
418 (1.60)
1107 (1.83)
153 (0.57)
278 (1.75)
656 (1.63)
336 (2.11)885 (2.21)
79 (0.51)
403 (1.45)
833 (1.59)
469 (1.69)
1208 (2.30)
157 (0.80)
178 (1.20)
416 (1.17)
197 (1.33)
553 (1.56)
156 (0.76)
122 (1.16)
186 (1.17)
112 (1.07)
158 (0.99)
141 (0.56)
319 (1.45)806 (1.34)
332 (1.50)
809 (1.34)
979 (0.79)
89 (1.20)
200 (1.18)
96 (1.30)
228 (1.34)
60 (0.79)
115 (1.22)
267 (1.21)
118 (1.25)
276 (1.25)
159 (0.37)
143 (1.66)
324 (1.71)
145 (1.69)
356 (1.88)
125 (0.50)
134 (1.87)
347 (1.79)
153 (2.13)
448 (2.31)
98 (0.33)
212 (2.11)
382 (2.13)
213 (2.12)402 (2.24)
69 (0.55)
65 (1.22)
264 (1.39)
60 (1.13)
265 (1.39)

112 (0.63)
389 (1.49)
814 (1.35)
449 (1.72)
1103 (1.83)
149 (0.56)
298 (1.88)
583 (1.45)
368 (2.32)
808 (2.02)
79 (0.51)
487 (1.75)
898 (1.71)
562 (2.03)
1234 (2.35)
146 (0.74)
187 (1.26)
427 (1.20)
202 (1.37)
563 (1.58)
148 (0.73)
125 (1.20)
189 (1.19)
116 (1.11)
162 (1.02)
140 (0.55)
375 (1.70)
786 (1.30)
378 (1.72)
792 (1.31)
835 (0.68)
104 (1.41)
221 (1.30)
112 (1.52)
247 (1.46)
58 (0.77)
131 (1.39)
290 (1.31)
134 (1.42)
303 (1.37)
109 (0.26)
229 (2.66)
472 (2.49)
227 (2.63)
487 (2.56)
115 (0.46)
150 (2.09)
378 (1.95)
171 (2.39)
477 (2.46)
80 (0.27)240 (2.38)
434 (2.42)
236 (2.35)
438 (2.44)
52 (0.42)
162 (3.05)
429 (2.26)
172 (3.25)
444 (2.33)

111 (0.63)
386 (1.48)
814 (1.35)
443 (1.70)
1107 (1.83)
148 (0.55)
298 (1.88)
584 (1.46)366 (2.31)
807 (2.01)
79 (0.51)477 (1.72)
892 (1.70)
549 (1.98)
1215 (2.32)
146 (0.74)
186 (1.25)
424 (1.20)
202 (1.36)
561 (1.58)
147 (0.72)
124 (1.18)
188 (1.18)
115 (1.09)
160 (1.01)
140 (0.55)
370 (1.68)
777 (1.29)
373 (1.69)
781 (1.29)
834 (0.68)
101 (1.37)
218 (1.29)
109 (1.48)
243 (1.43)
58 (0.77)
128 (1.35)
289 (1.31)
130 (1.38)
300 (1.36)
109 (0.26)
225 (2.61)
464 (2.44)
222 (2.58)
480 (2.53)
115 (0.46)
148 (2.06)
372 (1.92)
168 (2.35)
469 (2.42)80 (0.27)
237 (2.36)
430 (2.40)
234 (2.33)
435 (2.42)52 (0.42)
165 (3.11)
421 (2.21)
173 (3.27)
437 (2.30)

129 (0.73)
349 (1.34)
721 (1.19)
405 (1.55)
1035 (1.71)
198 (0.74)
222 (1.40)
481 (1.20)
279 (1.76)
708 (1.77)
92 (0.59)
407 (1.47)
821 (1.57)
468 (1.69)
1214 (2.31)
159 (0.81)
179 (1.20)
403 (1.14)
199 (1.34)
539 (1.52)
156 (0.77)
124 (1.19)
189 (1.19)
115 (1.10)
161 (1.01)
186 (0.73)
310 (1.41)
727 (1.21)
323 (1.46)
759 (1.26)
1054 (0.85)
91 (1.24)
202 (1.19)
98 (1.33)
229 (1.35)
62 (0.82)
120 (1.27)
275 (1.25)
123 (1.30)
282 (1.28)
190 (0.44)
145 (1.68)
317 (1.67)
147 (1.70)
355 (1.87)
157 (0.63)
120 (1.67)
330 (1.70)
141 (1.96)
434 (2.24)
115 (0.38)
208 (2.07)
384 (2.14)
209 (2.08)
400 (2.23)
85 (0.69)
67 (1.26)
250 (1.31)
65 (1.23)
273 (1.43)

118 (0.67)
385 (1.47)
769 (1.27)
447 (1.71)
1078 (1.79)
168 (0.63)
281 (1.77)
531 (1.32)
349 (2.20)
758 (1.89)
92 (0.60)
439 (1.58)
797 (1.52)525 (1.89)1160 (2.21)
149 (0.76)
188 (1.27)
426 (1.20)
205 (1.38)
564 (1.59)
150 (0.74)
127 (1.22)
193 (1.21)
117 (1.12)
165 (1.04)
163 (0.64)
363 (1.65)
773 (1.28)
375 (1.70)
790 (1.31)
925 (0.75)
101 (1.37)
217 (1.28)
110 (1.49)
243 (1.43)
60 (0.79)
135 (1.43)
301 (1.37)
139 (1.47)
310 (1.40)
120 (0.28)
234 (2.71)
479 (2.52)
231 (2.68)
500 (2.63)
133 (0.53)
141 (1.97)
358 (1.85)
167 (2.33)
467 (2.41)
87 (0.29)
236 (2.34)
437 (2.43)
233 (2.32)
439 (2.45)
58 (0.46)
191 (3.60)
433 (2.28)
201 (3.79)
454 (2.39)

Table 3. Performance comparison for all tested methods and scenes showing the BVH cost

and trace speed in MRays/s for secondary and shadow rays with and without ray sorting using
binary BVHs.

ing times). One reason might be that wide BVHs use a different traversal algorithm[Lier et al. 2018] than binary BVHs [Aila and Laine 2009]. For quaternary and octal
BVHs, PRBVHS and PRBVHA
S outperform SBVH for both secondary and shadow
rays. GPU ray tracing is memory bandwidth limited, and thus to achieve higher trace
performance for higher branching factors, it is necessary to employ some kind of node
compression [Ylitie et al. 2017], which was not used in our comparison.

11Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing
Scene
Sibenik# triangles
75k

Crytek Sponza# triangles
262k

Conference# triangles
331k

Gallery# triangles
998k

Happy Buddha# triangles
1087k

Sodahall# triangles
2169k

Hairball# triangles
2880k

Crown
# triangles
4868k

Pompeii# triangles
5632k

San Miguel# triangles
7880k

Vienna# triangles
8637k

Powerplant# triangles
12759kStatistic
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.

LBVH

HLBVH

PLOC

ATRBVH

PRBVH

PRBVHAPRBVHSPRBVHA
S

SAH

SBVH

108 (1.00)
229 (1.00)
496 (1.00)
267 (1.16)
626 (1.26)
163 (1.00)
158 (1.00)
320 (1.00)
196 (1.24)
419 (1.31)
90 (1.00)
256 (1.00)
484 (1.00)
317 (1.24)
649 (1.34)
119 (1.00)
134 (1.00)
290 (1.00)
146 (1.09)
349 (1.20)
118 (1.00)
118 (1.00)
169 (1.00)
114 (0.96)
154 (0.91)
149 (1.00)
212 (1.00)
484 (1.00)
234 (1.10)
528 (1.09)
922 (1.00)
71 (1.00)
151 (1.00)
80 (1.13)
173 (1.14)
46 (1.00)
104 (1.00)
211 (1.00)
114 (1.10)
220 (1.04)
255 (1.00)
95 (1.00)
173 (1.00)
99 (1.05)
192 (1.11)
146 (1.00)
69 (1.00)
174 (1.00)
82 (1.19)
224 (1.29)
163 (1.00)
106 (1.00)
166 (1.00)
114 (1.07)
182 (1.10)
75 (1.00)
81 (1.00)
231 (1.00)
94 (1.17)
259 (1.12)

92 (0.85)
266 (1.16)
541 (1.09)
304 (1.33)
672 (1.36)
132 (0.81)
180 (1.14)
376 (1.17)
226 (1.43)
485 (1.52)
74 (0.83)
299 (1.17)
599 (1.24)
364 (1.42)778 (1.61)
117 (0.98)
135 (1.01)
284 (0.98)
147 (1.10)
340 (1.17)
110 (0.94)
120 (1.01)
170 (1.01)
115 (0.97)
155 (0.92)
134 (0.90)
250 (1.18)
524 (1.08)
268 (1.26)
556 (1.15)
919 (1.00)
72 (1.02)
154 (1.02)
82 (1.16)
175 (1.16)
44 (0.96)
104 (1.01)
215 (1.02)
115 (1.12)
223 (1.06)
202 (0.79)
111 (1.17)
213 (1.23)
116 (1.22)
230 (1.33)
117 (0.80)
86 (1.25)
217 (1.25)
102 (1.47)
269 (1.54)
124 (0.76)
118 (1.11)
195 (1.18)
127 (1.19)
210 (1.26)
70 (0.93)
92 (1.14)
248 (1.07)
106 (1.31)
275 (1.19)

90 (0.83)
248 (1.08)
554 (1.12)282 (1.23)
688 (1.39)
118 (0.72)
185 (1.17)
415 (1.30)
232 (1.47)
519 (1.62)
61 (0.68)
359 (1.40)
698 (1.44)423 (1.65)
893 (1.85)
114 (0.96)
139 (1.04)
305 (1.05)
153 (1.14)
367 (1.26)
107 (0.91)
119 (1.01)
177 (1.05)
115 (0.98)
159 (0.94)
116 (0.77)
245 (1.16)
557 (1.15)
264 (1.24)
589 (1.22)
797 (0.86)
71 (1.00)
163 (1.07)
80 (1.14)
191 (1.26)
42 (0.91)
114 (1.11)
240 (1.14)
126 (1.22)
249 (1.18)
151 (0.59)
136 (1.44)
276 (1.60)
143 (1.50)
292 (1.69)
98 (0.67)
103 (1.49)
255 (1.46)
119 (1.73)
310 (1.78)
89 (0.54)
170 (1.60)
291 (1.75)
178 (1.67)
303 (1.83)
55 (0.73)
116 (1.44)
310 (1.34)
128 (1.59)
335 (1.45)

84 (0.78)
280 (1.22)
583 (1.18)
317 (1.38)
710 (1.43)
115 (0.71)
197 (1.25)
445 (1.39)
242 (1.53)
549 (1.71)
61 (0.68)
357 (1.39)
710 (1.47)
422 (1.65)
906 (1.87)
104 (0.88)
147 (1.10)
314 (1.08)
161 (1.20)
374 (1.29)
103 (0.88)
126 (1.06)
181 (1.07)
120 (1.01)
163 (0.96)
110 (0.74)
274 (1.29)
593 (1.23)
292 (1.38)
620 (1.28)
788 (0.85)
83 (1.18)
177 (1.17)
94 (1.33)
203 (1.34)
40 (0.87)
118 (1.14)
242 (1.15)
130 (1.26)
250 (1.19)
137 (0.54)
153 (1.61)
292 (1.69)
156 (1.64)
307 (1.78)
96 (0.66)
107 (1.55)
264 (1.51)
124 (1.80)
322 (1.85)
77 (0.47)
184 (1.74)
318 (1.92)
193 (1.81)
327 (1.97)
54 (0.72)
115 (1.43)
312 (1.35)
128 (1.59)
333 (1.44)

80 (0.74)
296 (1.29)
613 (1.24)
333 (1.45)
742 (1.50)
115 (0.71)
226 (1.43)
482 (1.50)
274 (1.74)
591 (1.85)
61 (0.68)
368 (1.44)
758 (1.57)
434 (1.69)
938 (1.94)
101 (0.85)
153 (1.14)
330 (1.14)
167 (1.25)
391 (1.35)
98 (0.83)
131 (1.10)
186 (1.10)
124 (1.05)
167 (0.99)
100 (0.67)
314 (1.48)
604 (1.25)
326 (1.54)
629 (1.30)
742 (0.80)
90 (1.28)
190 (1.25)
101 (1.43)
216 (1.43)
39 (0.85)
126 (1.21)
251 (1.19)
138 (1.33)
259 (1.23)
130 (0.51)
162 (1.70)
314 (1.82)
165 (1.74)
326 (1.88)
92 (0.63)
116 (1.68)
276 (1.59)
135 (1.95)
333 (1.91)
71 (0.44)
201 (1.89)
339 (2.05)
208 (1.96)
347 (2.09)
51 (0.68)
119 (1.48)
340 (1.47)
128 (1.59)
361 (1.56)

79 (0.74)
300 (1.31)
630 (1.27)
337 (1.47)
760 (1.53)
113 (0.70)
226 (1.43)
480 (1.50)
276 (1.75)
594 (1.86)
60 (0.66)
375 (1.46)736 (1.52)
439 (1.71)
907 (1.87)
99 (0.83)
154 (1.15)
331 (1.14)
168 (1.26)
393 (1.35)
96 (0.82)
129 (1.09)
186 (1.10)
123 (1.04)
166 (0.99)
100 (0.67)
307 (1.45)
603 (1.25)
318 (1.50)
624 (1.29)
742 (0.80)
90 (1.27)
188 (1.24)
100 (1.42)
214 (1.42)
39 (0.84)
125 (1.20)
252 (1.19)
136 (1.31)
258 (1.22)
129 (0.51)
160 (1.69)
310 (1.79)
164 (1.73)
322 (1.86)
90 (0.62)
121 (1.75)
276 (1.59)
140 (2.02)
332 (1.91)
70 (0.43)
204 (1.92)
346 (2.08)
210 (1.97)
351 (2.11)
50 (0.67)
120 (1.49)
340 (1.47)
129 (1.60)
361 (1.56)

76 (0.71)
308 (1.35)
623 (1.26)
349 (1.52)
743 (1.50)
107 (0.66)
241 (1.53)
452 (1.41)
297 (1.88)
562 (1.76)
61 (0.68)
384 (1.50)
738 (1.53)455 (1.77)
909 (1.88)
92 (0.78)
161 (1.20)
338 (1.17)
173 (1.30)
402 (1.38)
92 (0.79)
135 (1.14)
190 (1.12)
127 (1.07)
169 (1.00)
98 (0.66)
334 (1.58)
599 (1.24)
342 (1.61)
616 (1.27)
608 (0.66)
93 (1.32)
189 (1.25)
105 (1.49)
210 (1.39)
38 (0.81)
135 (1.30)
260 (1.23)
147 (1.42)
267 (1.27)
81 (0.32)
228 (2.40)406 (2.35)
228 (2.40)
409 (2.37)
82 (0.56)
131 (1.90)
296 (1.70)
151 (2.18)
350 (2.01)
52 (0.32)
227 (2.14)375 (2.26)
232 (2.19)
376 (2.27)
36 (0.49)
196 (2.43)
392 (1.69)
211 (2.62)
397 (1.71)

76 (0.70)
307 (1.34)
620 (1.25)
348 (1.52)
744 (1.50)
107 (0.66)
238 (1.51)455 (1.42)
293 (1.85)
562 (1.76)
61 (0.68)
380 (1.48)
736 (1.52)
453 (1.77)
905 (1.87)
92 (0.78)
160 (1.20)
335 (1.15)
172 (1.29)
399 (1.37)
92 (0.78)
134 (1.13)
188 (1.12)
126 (1.07)
169 (1.00)
98 (0.66)
327 (1.54)
580 (1.20)
335 (1.58)
601 (1.24)
606 (0.66)
92 (1.31)
186 (1.23)
103 (1.47)
208 (1.38)
38 (0.81)
131 (1.27)
256 (1.22)
145 (1.40)
265 (1.26)
81 (0.32)
224 (2.36)
400 (2.31)
223 (2.35)
401 (2.32)
82 (0.56)
131 (1.90)
293 (1.68)
150 (2.17)
347 (1.99)
52 (0.32)
225 (2.11)
370 (2.23)
231 (2.17)
373 (2.25)
36 (0.48)
195 (2.42)382 (1.65)
207 (2.57)
387 (1.67)

84 (0.78)
287 (1.25)
580 (1.17)
327 (1.42)
712 (1.44)
131 (0.81)
186 (1.18)
376 (1.18)
228 (1.45)
482 (1.51)
61 (0.68)
356 (1.39)
658 (1.36)425 (1.66)
851 (1.76)
99 (0.84)
153 (1.14)
320 (1.10)
168 (1.26)
382 (1.32)
96 (0.82)
132 (1.11)
187 (1.11)
125 (1.05)
168 (1.00)
116 (0.78)
283 (1.34)
575 (1.19)
299 (1.41)
605 (1.25)
802 (0.87)87 (1.23)
183 (1.21)
97 (1.37)
210 (1.39)
40 (0.86)
125 (1.21)
249 (1.18)
136 (1.32)
255 (1.21)
136 (0.53)
157 (1.65)
305 (1.76)
161 (1.70)
320 (1.85)
102 (0.69)
106 (1.53)
267 (1.53)
125 (1.80)
324 (1.86)
77 (0.47)
194 (1.83)
331 (2.00)
199 (1.88)
338 (2.03)
57 (0.76)
108 (1.34)
295 (1.28)
120 (1.49)
326 (1.41)

77 (0.71)
307 (1.34)
597 (1.21)
349 (1.52)
721 (1.46)
113 (0.70)
230 (1.46)
420 (1.31)
284 (1.80)
530 (1.65)
63 (0.70)
342 (1.34)
602 (1.24)
425 (1.66)
790 (1.63)
93 (0.78)
161 (1.20)
331 (1.14)
174 (1.30)
392 (1.35)
93 (0.79)
134 (1.13)
189 (1.12)
128 (1.08)
170 (1.01)
104 (0.69)
319 (1.50)
579 (1.20)
328 (1.55)
602 (1.24)
658 (0.71)
90 (1.28)
184 (1.22)
102 (1.45)
207 (1.37)
38 (0.83)
135 (1.31)
261 (1.24)
148 (1.43)
268 (1.27)
82 (0.32)
230 (2.42)414 (2.39)
230 (2.42)415 (2.40)
86 (0.59)
128 (1.85)
288 (1.65)
147 (2.13)
345 (1.98)
54 (0.33)
219 (2.06)
367 (2.21)
224 (2.11)
368 (2.22)
37 (0.49)
203 (2.52)
388 (1.68)
215 (2.67)
395 (1.71)

Table 4. Performance comparison for all tested methods and scenes showing the BVH cost

and trace speed in MRays/s for secondary and shadow rays with and without ray sorting using
quaternary BVHs.

Table 1 shows that using spatial splitting pays off overall, improving trace performance by about 24% for secondary rays and 12% for shadow rays on average. However, the speedup provided by spatial splits depends heavily on a particular scene.
There is a rather marginal improvement for finely tessellated scenes such as Conference, Happy Buddha, and Hairball. On the other hand, for a complex scene such as
Powerplant, the speedup is almost threefold.
12Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing
Scene

Statistic

Sibenik# triangles
75k

Crytek Sponza# triangles
262k

Conference# triangles
331k

Gallery# triangles
998k

Happy Buddha# triangles
1087k

Sodahall# triangles
2169k

Hairball# triangles
2880k

Crown
# triangles
4868k

Pompeii# triangles
5632k

San Miguel# triangles
7880k

Vienna# triangles
8637k

Powerplant# triangles
12759k

BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.

LBVH

HLBVH

PLOC

ATRBVH

PRBVH

PRBVHAPRBVHSPRBVHA
S

SAH

SBVH

113 (1.00)
197 (1.00)
439 (1.00)
225 (1.14)
497 (1.13)
176 (1.00)
130 (1.00)
279 (1.00)
158 (1.21)
326 (1.17)
91 (1.00)
242 (1.00)
481 (1.00)
287 (1.19)
544 (1.13)
119 (1.00)
114 (1.00)
252 (1.00)
126 (1.10)283 (1.12)
115 (1.00)
115 (1.00)
158 (1.00)
109 (0.95)
141 (0.90)
153 (1.00)
185 (1.00)
394 (1.00)
201 (1.09)
408 (1.04)
979 (1.00)
70 (1.00)
157 (1.00)
79 (1.12)
170 (1.08)
47 (1.00)
100 (1.00)
201 (1.00)
108 (1.08)
198 (0.99)
250 (1.00)
87 (1.00)
160 (1.00)
90 (1.03)
164 (1.03)
149 (1.00)
67 (1.00)
170 (1.00)
77 (1.16)
197 (1.16)
145 (1.00)
102 (1.00)
164 (1.00)
108 (1.05)
167 (1.02)
70 (1.00)
84 (1.00)
223 (1.00)
97 (1.15)
233 (1.05)

102 (0.90)
222 (1.13)
449 (1.02)
250 (1.27)
505 (1.15)
142 (0.81)
151 (1.16)
326 (1.17)
183 (1.41)
373 (1.34)
83 (0.91)
274 (1.13)
557 (1.16)
322 (1.33)
634 (1.32)
117 (0.99)
116 (1.02)
249 (0.99)
128 (1.12)
278 (1.10)
111 (0.97)
116 (1.01)
159 (1.00)
110 (0.96)
143 (0.90)
142 (0.93)
224 (1.21)
436 (1.11)
238 (1.29)
443 (1.12)
979 (1.00)
72 (1.02)
160 (1.02)
80 (1.13)
173 (1.10)
46 (0.98)
100 (1.00)
202 (1.01)
108 (1.08)
199 (0.99)
222 (0.89)
103 (1.18)
192 (1.20)
105 (1.21)
194 (1.21)
128 (0.86)
79 (1.18)
202 (1.19)
91 (1.36)
231 (1.36)
123 (0.85)
113 (1.11)
192 (1.18)
119 (1.16)
193 (1.18)
67 (0.96)
96 (1.14)
241 (1.08)
108 (1.28)
249 (1.12)

97 (0.86)
215 (1.09)
475 (1.08)
240 (1.22)
531 (1.21)
137 (0.78)
159 (1.22)
345 (1.24)
189 (1.45)
393 (1.41)
75 (0.83)
322 (1.33)
638 (1.33)
367 (1.52)
720 (1.50)
111 (0.94)
117 (1.03)
267 (1.06)
131 (1.15)
301 (1.19)
105 (0.91)
116 (1.02)
163 (1.03)
110 (0.96)
146 (0.92)
126 (0.82)
214 (1.16)
462 (1.17)
229 (1.24)
468 (1.19)
828 (0.85)
66 (0.94)
161 (1.03)
75 (1.06)
177 (1.12)
43 (0.91)
108 (1.08)
220 (1.10)
116 (1.16)
216 (1.07)
169 (0.68)
129 (1.48)
242 (1.51)
132 (1.51)
242 (1.51)
110 (0.74)
93 (1.39)
238 (1.40)
106 (1.58)
270 (1.59)
87 (0.60)
156 (1.53)
260 (1.59)
160 (1.57)
256 (1.57)
55 (0.79)
120 (1.42)286 (1.29)
131 (1.55)
293 (1.32)

94 (0.83)
234 (1.19)
472 (1.07)
261 (1.33)
524 (1.19)
136 (0.77)
172 (1.32)
376 (1.35)
203 (1.56)
428 (1.54)
75 (0.82)
328 (1.36)
643 (1.34)
371 (1.54)
717 (1.49)
106 (0.89)
126 (1.11)
282 (1.12)
140 (1.23)
315 (1.25)
102 (0.89)
122 (1.06)
170 (1.07)
115 (1.01)
151 (0.96)
122 (0.79)
239 (1.29)
468 (1.19)
250 (1.35)
470 (1.19)
828 (0.85)
79 (1.12)
175 (1.11)
88 (1.25)
189 (1.20)
42 (0.90)
112 (1.12)
224 (1.12)
121 (1.21)
220 (1.09)
157 (0.63)
141 (1.62)
261 (1.63)
143 (1.64)
259 (1.62)
109 (0.73)
97 (1.45)
242 (1.42)
111 (1.66)
276 (1.63)
76 (0.53)
174 (1.70)
287 (1.75)
178 (1.74)
281 (1.72)
55 (0.79)
129 (1.54)
293 (1.32)
141 (1.68)
297 (1.33)

91 (0.81)
244 (1.24)
500 (1.14)
273 (1.39)
555 (1.26)
135 (0.77)
194 (1.49)425 (1.52)
228 (1.75)
477 (1.71)
75 (0.83)
334 (1.38)
655 (1.36)
381 (1.58)
738 (1.53)
101 (0.85)
130 (1.14)
287 (1.14)
143 (1.26)
321 (1.28)
97 (0.85)
128 (1.12)
174 (1.10)
119 (1.03)
154 (0.98)
115 (0.75)
274 (1.48)
496 (1.26)
282 (1.53)
493 (1.25)
781 (0.80)
84 (1.19)
181 (1.15)
93 (1.32)
195 (1.24)
41 (0.87)
118 (1.18)
230 (1.14)
126 (1.26)
225 (1.12)
151 (0.60)
152 (1.75)
272 (1.70)
152 (1.75)
268 (1.67)
105 (0.70)
106 (1.58)
253 (1.49)
121 (1.80)
285 (1.68)
71 (0.49)
189 (1.85)
307 (1.88)
192 (1.87)
299 (1.83)
53 (0.76)
133 (1.58)
307 (1.38)
149 (1.77)
313 (1.41)

90 (0.80)
247 (1.26)
508 (1.16)
275 (1.40)
562 (1.28)
133 (0.76)
198 (1.52)
431 (1.54)
232 (1.78)
484 (1.73)
75 (0.83)
335 (1.38)
659 (1.37)379 (1.57)
738 (1.53)
99 (0.83)
131 (1.15)
295 (1.17)
147 (1.29)
330 (1.31)
95 (0.83)
127 (1.11)
174 (1.10)
119 (1.04)
154 (0.98)
115 (0.75)
272 (1.47)
498 (1.27)
280 (1.52)
495 (1.26)
780 (0.80)
83 (1.18)
180 (1.14)
92 (1.31)
193 (1.23)
41 (0.87)
117 (1.17)
232 (1.15)
125 (1.25)
226 (1.12)
151 (0.60)
151 (1.73)
271 (1.69)
151 (1.74)
267 (1.67)
104 (0.70)
111 (1.65)
255 (1.50)
126 (1.88)
287 (1.69)
70 (0.49)
193 (1.89)
310 (1.89)
194 (1.89)
300 (1.83)
53 (0.75)
141 (1.67)
316 (1.42)
156 (1.86)
317 (1.42)

85 (0.76)
253 (1.29)
515 (1.17)
282 (1.44)565 (1.29)
129 (0.73)
200 (1.54)
374 (1.34)
237 (1.82)
422 (1.51)
78 (0.86)
322 (1.33)
622 (1.29)
369 (1.52)
685 (1.42)
93 (0.78)
140 (1.23)
305 (1.21)
154 (1.35)
341 (1.35)
92 (0.80)
131 (1.14)
176 (1.12)
122 (1.06)
156 (0.99)
112 (0.73)
278 (1.50)
480 (1.22)
286 (1.55)
480 (1.22)
621 (0.63)
91 (1.29)
188 (1.20)
101 (1.43)
200 (1.27)
39 (0.84)
125 (1.25)
235 (1.17)
133 (1.33)
231 (1.15)
92 (0.37)
204 (2.34)344 (2.15)
202 (2.32)
333 (2.08)
93 (0.63)
120 (1.79)
271 (1.59)
134 (2.01)
301 (1.77)
54 (0.37)
209 (2.04)
328 (2.00)
210 (2.05)
318 (1.94)
38 (0.55)
183 (2.18)
341 (1.53)
191 (2.27)
337 (1.52)

85 (0.76)
253 (1.28)
516 (1.18)
282 (1.43)
568 (1.29)
128 (0.73)
199 (1.53)
375 (1.35)
235 (1.81)
420 (1.51)
78 (0.86)
320 (1.32)
621 (1.29)
366 (1.51)
682 (1.42)
92 (0.78)
139 (1.22)
305 (1.21)
153 (1.34)341 (1.35)
92 (0.80)
131 (1.14)
175 (1.11)
121 (1.06)
155 (0.98)
112 (0.73)
276 (1.49)
478 (1.21)
283 (1.53)476 (1.21)
624 (0.64)
89 (1.27)
186 (1.18)
99 (1.40)
198 (1.26)
39 (0.84)
124 (1.24)
236 (1.17)
132 (1.32)
231 (1.15)
92 (0.37)
201 (2.31)
339 (2.12)
199 (2.28)
327 (2.04)
93 (0.63)
117 (1.75)
266 (1.57)
131 (1.96)
297 (1.75)
54 (0.37)
207 (2.02)
325 (1.99)
207 (2.02)
314 (1.92)
38 (0.55)
180 (2.13)
336 (1.51)
187 (2.22)
332 (1.49)

92 (0.82)
233 (1.19)
486 (1.11)
262 (1.33)
540 (1.23)
136 (0.77)
156 (1.20)
313 (1.12)
188 (1.44)
360 (1.29)
70 (0.77)
318 (1.31)
583 (1.21)
367 (1.52)
658 (1.37)
100 (0.84)
131 (1.15)
286 (1.14)
147 (1.29)
320 (1.27)
96 (0.84)
129 (1.12)
174 (1.11)
119 (1.04)
154 (0.97)
119 (0.78)
244 (1.32)
467 (1.19)
256 (1.39)
470 (1.19)
825 (0.84)
80 (1.14)
176 (1.12)
89 (1.27)
189 (1.20)
41 (0.88)
116 (1.16)
227 (1.13)
125 (1.25)
223 (1.11)
147 (0.59)
146 (1.67)
265 (1.65)
147 (1.69)
262 (1.64)
110 (0.74)
95 (1.42)
244 (1.44)
110 (1.64)
280 (1.65)
74 (0.51)
180 (1.76)
295 (1.80)
182 (1.78)
287 (1.75)
55 (0.78)
119 (1.41)
277 (1.25)
132 (1.57)
284 (1.27)

84 (0.74)
250 (1.27)
482 (1.10)
280 (1.42)533 (1.21)
130 (0.74)
190 (1.46)
348 (1.25)
227 (1.74)
396 (1.42)
75 (0.82)
292 (1.21)
539 (1.12)350 (1.45)
615 (1.28)
93 (0.78)
139 (1.22)
302 (1.20)
153 (1.34)
337 (1.34)
93 (0.81)
131 (1.14)
175 (1.11)
122 (1.06)
156 (0.99)
111 (0.73)
269 (1.45)
469 (1.19)
277 (1.50)
470 (1.19)
632 (0.65)
86 (1.22)
180 (1.15)
96 (1.36)
192 (1.22)
40 (0.84)
124 (1.24)
233 (1.16)
133 (1.32)
229 (1.14)
87 (0.35)
205 (2.35)345 (2.16)
204 (2.34)335 (2.09)
93 (0.62)
110 (1.64)
252 (1.48)
127 (1.89)
287 (1.69)
54 (0.37)
202 (1.97)
323 (1.97)
203 (1.98)
313 (1.91)
37 (0.52)
184 (2.19)
339 (1.52)
192 (2.28)
335 (1.50)

Table 5. Performance comparison for all tested methods and scenes showing the BVH cost

and trace speed in MRays/s for secondary and shadow rays with and without ray sorting using
octal BVHs.

4.3.

Cost and Trace Speed Correlation

It is a well-known fact that there is a discrepancy between the BVH cost and the actual trace performance [Aila et al. 2013]. In other words, cost reduction does notnecessarily mean trace performance improvement. Top-down builders, such as SAH
and SBVH, provide BVHs with higher costs than other approaches, but the top levels
13Vol. 11, No. 3, 2022
http://jcgt.org

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing
Br. Factor
2

4

8

Statistic

LBVH

HLBVH

PLOC

ATRBVH

PRBVH

PRBVHAPRBVHSPRBVHA
S

SAH

SBVH

BVH cost
Secondary rays
Shadow rays
Secondary rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.
BVH cost
Secondary rays
Shadow rays
Second. rays reord.
Shadow rays reord.

1.00
1.00
1.00
0.92
0.84
1.00
1.00
1.00
0.89
0.87
1.00
1.00
1.00
0.91
0.94

0.83
1.11
1.13
1.03
0.95
0.88
1.03
1.03
0.93
0.92
0.92
0.99
1.00
0.90
0.95

0.70
1.21
1.14
1.12
0.98
0.77
1.08
1.04
0.98
0.94
0.81
1.04
1.02
0.96
0.98

0.65
1.18
1.18
1.10
1.03
0.73
1.06
1.05
0.97
0.95
0.79
0.99
1.01
0.92
0.97

0.61
1.21
1.19
1.14
1.03
0.70
1.04
1.04
0.96
0.95
0.76
0.96
1.00
0.90
0.97

0.60
1.21
1.21
1.16
1.07
0.69
1.04
1.05
0.97
0.97
0.75
0.96
1.00
0.90
0.97

0.55
1.11
1.22
1.05
1.10
0.62
1.07
1.16
1.00
1.08
0.67
1.02
1.12
0.96
1.10

0.55
1.12
1.24
1.07
1.11
0.62
1.08
1.17
1.01
1.09
0.67
1.03
1.13
0.97
1.11

0.68
1.07
1.10
1.01
0.95
0.74
1.03
1.05
0.94
0.94
0.76
1.01
1.06
0.94
1.02

0.59
1.02
1.14
0.96
1.01
0.64
1.06
1.16
0.98
1.07
0.66
1.06
1.18
0.99
1.14

Table 6. Comparison of the BVH costs and the average trace times per a unit BVH cost (i.e.,

trace time divided by the BVH cost). The values are normalized prior to averaging by a value
given by LBVH of the corresponding BVH branching factor.

are locally well optimized, which is important as most of the time during the traversal is spent in the top levels because they are visited by almost all rays. To quantize
this fact, we compute the ratio between trace time and cost, which expresses the timeneeded for a unit cost (see Table 6). These values are averaged over all scenes. The
values are normalized prior to averaging by a value given by LBVH of the corresponding branching factor. Top-down builders such as SAH and SBVH have lower
values, whereas optimization algorithms such as PRBVH and bottom-up algorithms
such as PLOC have higher values. These values can be considered as a correction to
the actual cost values. By multiplying the cost by these values, we can obtain a corrected cost that actually corresponds to the trace times. We also plot normalized trace
times and normalized BVH costs in Figure 1 to see the correlation between these twoquantities.
4.4.

Influence of Ray Reordering

Table 1 indicates that using ray reordering pays off on average, providing a 7%
speedup for secondary rays and 8% for shadow rays. Particularly, ray reordering
improves trace performance for Crytek Sponza (23% for secondary rays and 39% forshadow rays), Conference (15% for secondary rays and 37% for shadow rays), andSan Miguel (14% for secondary rays and 26% for shadow rays) using binary BVHs.
Ray reordering typically benefits from using larger ray batches as it is more likely
to extract coherence from a large number of rays. Furthermore, the speed of the raysorting algorithm, i.e., the number of rays sorted per second, increases with more
rays. Thus, it pays off to use ray reordering for complex scenes (e.g., Hairball) or
architectural scenes (e.g., San Miguel). Conversely, in object-like scenes (e.g., Happy
Buddha), most of the rays escape the scene after the first bounce, and further bounces
are generated only in concave regions, generating only a few secondary rays. Thus,
14

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

Sibenik
75k

Crytek Sponza
262k

Conference
331k

Gallery
998k

Happy Buddha
1087k

Sodahall2169k

Hairball
2880k

Crown
4868k

Pompeii
5632k

San Miguel
7880k

Vienna8637k

Powerplant
12759kFigure 2. Rendered images of 12 tested scenes in resolution 1024 × 768. We use three

representative views for each scene.

it is difficult to extract some coherence from a small number of rays and fully utilize
parallel resources.
However, we can observe that the effect of ray reordering decreases with increasing branching factor, especially for shadow rays. For example, ray reordering improves trace performance for shadow rays in San Miguel by 26% for binary BVHs,
18% for quaternary BVHs, and 11% for octal BVHs using PRBVHS . One reason
might be again that for wide BVHs we use a completely different trace kernel [Lieret al. 2018] than for binary BVHs [Aila and Laine 2009]. Another reason might bethat in wide BVHs we visit fewer nodes during the traversal, which results in fewer
memory accesses, decreasing the importance of ray coherence.
5.

Conclusion and Future Work

We provided an overview of the state-of-the-art BVH construction methods together
with their extensive empirical performance comparison. In particular, we compared15

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

the various state-of-the-art construction algorithms, spatial splitting, ray reordering,
and wide BVHs. We also measured the discrepancy between trace times and BVH
costs. We found that the best results are provided by binary BVHs constructed by
SBVH, while ray reordering pays off in most cases. We also showed that parallelreinsertion in combination with simulated annealing can provide slightly better costs
than parallel reinsertion itself.
The results indicate several promising directions for future work. One obvious
direction would be a fast construction using spatial splits while keeping the quality of
SBVH. Another interesting direction might be a hybrid construction using top-down
construction for top levels and bottom-up construction for bottom levels. On a similarnote, we could modify PRBVH to penalize or completely disable updates in top levels
to preserve top splits provided by SBVH. Furthermore, during the conversion to wide
BVH, some nodes are discarded. Thus, it makes sense to focus the optimization only
on the nodes that remain and not on the discarded nodes. However, as was pointed byMeister et al. [2021], this is a difficult challenge as the cost function in wide BVHs
is piecewise constant (i.e., some of the topological updates do not change the costvalue), which makes the navigation in the search space more difficult.
Simulated annealing could also be used with other BVH construction methods
such as treelet restructuring. Moreover, in simulated annealing, we clamp the probability used for pruning to a constant and prioritize nodes with negative values during
the heating phase. In both cases, we could use more sophisticated approaches. We
leave these problems for future work.
Acknowledgements

We would like to thank Jakub Černý for fruitful discussions and valuable comments.
We thank Seth Teller for providing the Sodahall scene, Peter Wonka and Michael
Wimmer for providing the Vienna and Pompeii scenes, and Morgan McGuire [2017]
for providing the other scenes. This work was partly supported by the Czech Science
Foundation (GA18-20374S) and Research Center for Informatics (CZ.02.1.01/0.0/0.0/
16 019/0000765).
Copyright Notice and Trademarks©2022 Advanced Micro Devices, Inc. All rights reserved. AMD, Ryzen, Radeon,
and combinations thereof are trademarks of Advanced Micro Devices, Inc. Other
product names used in this publication are for identification purposes only and may
be trademarks of their respective companies.

16

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

Index of Supplemental Materials

The source codes of the algorithm can be downloaded from GitHub:
https://github.com/meistdan/hippie.
Publication snapshot at
https://jcgt.org/published/0011/03/06/hippie-main.zip
References
A ILA , T., AND L AINE , S. 2009. Understanding the efficiency of ray traversal on GPUs. In
Proceedings of the Conference on High-Performance Graphics, Association for Computing
Machinery, 145–149. URL: https://doi.org/10.1145/1572769.1572792. 7,
8, 11, 15
A ILA , T., K ARRAS , T., AND L AINE , S. 2013. On quality metrics of bounding volume hierarchies. In Proceedings of the 5th High-Performance Graphics Conference, Association for
Computing Machinery, 101–108. URL: https://doi.org/10.1145/2492045.
2492056. 3, 13
D OMINGUES , L., AND P EDRINI , H. 2015. Bounding volume hierarchy optimization
through agglomerative treelet restructuring. In Proceedings of the 7th Conference on HighPerformance Graphic, Association for Computing Machinery, 13–20. URL: https://doi.org/10.1145/2790060.2790065. 5, 8
G ARANZHA , K., PANTALEONI , J., AND M C A LLISTER , D. 2011. Simpler and faster
HLBVH with work queues. In Proceedings of the ACM SIGGRAPH Symposium on High
Performance Graphics, Association for Computing Machinery, 59–64. URL: https://doi.org/10.1145/2018323.2018333. 5, 8
G OLDSMITH , J., AND S ALMON , J. 1987. Automatic creation of object hierarchies forray tracing. IEEE Computer Graphics and Applications 7, 5, 14–20. URL: https://ieeexplore.ieee.org/document/4057175. 3
K ARRAS , T., AND A ILA , T. 2013. Fast parallel construction of high-quality bounding
volume hierarchies. In Proceedings of the 5th High-Performance Graphics Conference,
Association for Computing Machinery, 89–99. URL: https://doi.org/10.1145/
2492045.2492055. 5
K ARRAS , T.
2012.
Maximizing parallelism in the construction of BVHs, octrees, and k-d trees.
In Proceedings of the Fourth ACM SIGGRAPH/Eurographics Conference on High-Performance Graphics, Eurographics Association, 33–37.
URL: https://research.nvidia.com/publication/
maximizing-parallelism-construction-bvhs-octrees-and-k-d-trees.
4, 8
K ENSLER , A. 2008. Tree rotations for improving bounding volume hierarchies. In IEEE
Symposium on Interactive Ray Tracing, IEEE, 73–76. URL: https://ieeexplore.
ieee.org/document/4634624. 6

17

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

L IER , A., S TAMMINGER , M., AND S ELGRAD , K. 2018. CPU-style SIMD ray traversal
on GPUs. In Proceedings of the Conference on High-Performance Graphics, Association
for Computing Machinery, 7:1–7:4. URL: https://doi.org/10.1145/3231578.
3231583. 7, 8, 11, 15
M C G UIRE , M., 2017.
Computer Graphics Archive, July.
casual-effects.com/data. 16

URL: https://

M EISTER , D., AND B ITTNER , J. 2018. Parallel locally-ordered clustering for bounding volume hierarchy construction. IEEE Transactions on Visualization and Computer Graphics
24, 3, 1345–1353. URL: https://doi.org/10.1109/TVCG.2017.2669983. 5,
8
M EISTER , D., AND B ITTNER , J. 2018. Parallel reinsertion for bounding volume hierarchy
optimization. Computer Graphics Forum (Proceedings of Eurographics) 37, 2, 463–473.
URL: https://diglib.eg.org:443/handle/10.1111/cgf13376. 5, 6, 8
M EISTER , D., B OK ŠANSK Ý , J., G UTHE , M., AND B ITTNER , J. 2020. On ray reordering
techniques for faster GPU ray tracing. In Proceedings of the Symposium on Interactive 3D
Graphics and Games, Association for Computing Machinery, 13:1–13:9. URL: https://doi.org/10.1145/3384382.3384534. 7, 8
M EISTER , D., O GAKI , S., B ENTHIN , C., D OYLE , M. J., G UTHE , M., AND B ITTNER , J.
2021. A survey on bounding volume hierarchies for ray tracing. Computer Graphics Forum(Proceedings of Eurographics) 40, 2, 683–712. URL: https://onlinelibrary.
wiley.com/doi/abs/10.1111/cgf.142662. 3, 16
M ERRILL , D., AND G RIMSHAW, A. 2011. High performance and scalable radix sorting: A case study of implementing dynamic parallelism for GPU computing. Parallel Processing Letters 21, 2, 245–272. URL: https://doi.org/10.1142/
S0129626411000187. 8
M ORTON , G.
1966.
A computer oriented geodetic database and a new technique in file sequencing.
Tech. rep., IBM Research.
IBM Germany Scientific Symposium Series. URL: https://dominoweb.draco.res.ibm.com/
0dabf9473b9c86d48525779800566a39.html. 4
PANTALEONI , J., AND L UEBKE , D.
2010.
HLBVH: Hierarchical LBVH
construction for real-time ray tracing of dynamic geometry.
In Proceedings of the Conference on High Performance Graphics, Eurographics Association, 87–95.
URL: https://research.nvidia.com/publication/
hlbvh-hierarchical-lbvh-construction-real-time-ray-tracing.
5
S TICH , M., F RIEDRICH , H., AND D IETRICH , A. 2009. Spatial splits in bounding volume
hierarchies. In Proceedings of the Conference on High Performance Graphics, Association
for Computing Machinery, 7–13. URL: https://doi.org/10.1145/1572769.
1572771. 7, 8
V INKLER , M., H AVRAN , V., AND B ITTNER , J. 2016. Performance comparison of bounding
volume hierarchies and Kd-trees for GPU ray tracing. Computer Graphics Forum 35,

18

Journal of Computer Graphics Techniques
Performance Comparison of BVHs for GPU Ray Tracing

Vol. 11, No. 3, 2022
http://jcgt.org

8, 68–79. URL: https://onlinelibrary.wiley.com/doi/abs/10.1111/
cgf.12776. 3
WALD , I., B ENTHIN , C., AND B OULOS , S. 2008. Getting rid of packets—Efficient SIMD
single-ray traversal using multi-branching BVHs. In IEEE Symposium on Interactive Ray
Tracing, IEEE, 49–57. URL: https://doi.org/10.1109/RT.2008.4634620.
4
Y LITIE , H., K ARRAS , T., AND L AINE , S. 2017. Efficient incoherent ray traversal on GPUs
through compressed wide BVHs. In Proceedings of High-Performance Graphics, Association for Computing Machinery, 4:1–4:13. URL: https://doi.org/10.1145/
3105762.3105773. 8, 11

Author Contact Information
Daniel Meister
AMD Japan Co. Ltd.
Marunouchi Trust Tower
1-8-3 Marunouchi, Chiyoda-ku
Tokyo, Japandaniel.meister@amd.com
https://meistdan.github.io

Jiřı́ Bittner
Czech Technical University in Prague
Karlovo náměstı́ 13
121 35 Prague 2
Prague, Czech Republicbittner@fel.cvut.cz
https://dcgi.fel.cvut.cz/home/bittner

Daniel Meister and Jiřı́ Bittner, Performance Comparison of Bounding Volume Hierarchies
for GPU Ray Tracing, Journal of Computer Graphics Techniques (JCGT), vol. 11, no. 3,
1–19, 2022
http://jcgt.org/published/0011/04/01/
Received:
Recommended:
Published:2022-02-20
2022-04-14
2022-10-18

Corresponding Editor: Eric Haines
Editor-in-Chief:
Marc Olano© 2022 Daniel Meister and Jiřı́ Bittner (the Authors).
The Authors provide this document (the Work) under the Creative Commons CC BY-ND
3.0 license available online at http://creativecommons.org/licenses/by-nd/3.0/. The Authors
further grant permission for reuse of images and text from the first page of the Work, provided
that the reuse is for the purpose of promoting and/or summarizing the Work in scholarly
venues and that any reuse is accompanied by a scientific citation to the Work.

19