Skip to content

visibility

Benchmarks of ordito.visibility against every library that computes the same thing. Each chart shows the time of every library relative to ordito on CUDA (1x, in green): a longer bar took longer. The table under each chart lists every input the function was measured on. See Benchmarks for how to read and reproduce these numbers.

Measured on GPU: NVIDIA GeForce RTX 5090 · CPU: Intel Xeon w7-2495X

Summary

0.1x1x10x100x1000xordito (CUDA): the reference, 1xordito (CUDA)1xMeshLib: 14x ordito's time, geometric mean over 1 functions; slower than ordito in 1MeshLib14x (1)MeshLab: 31x ordito's time, geometric mean over 3 functions; slower than ordito in 3MeshLab31x (3)trimesh: 134x ordito's time, geometric mean over 3 functions; slower than ordito in 3trimesh134x (3)
Time relative to ordito (CUDA), geometric mean over the visibility functions both implement; in parentheses, the number of functions. Log scale. Runs stopped at the time limit are left out.
Values
Library Time relative to ordito Functions compared ordito faster in
MeshLib 14x 1 1
MeshLab 31x 3 3
trimesh 134x 3 3

ambient_occlusion

0.1x1x10x100xordito (CUDA): 35.03 ms, 1x ordito's timeordito (CUDA)1x · 35.03 msMeshLab: 466.07 ms, 13x ordito's timeMeshLab13x · 466.07 ms
dragon (871 414 faces) · n_rays=64 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 35.03 ms 1x
MeshLab 466.07 ms 13x
All inputs
Input ordito (CUDA) MeshLab
sphere_small n_rays=64 131.2 µs
sphere_small n_rays=256 317.5 µs
bunny_decimated n_rays=64 442.0 µs 8.92 ms
bunny_decimated n_rays=256 1.27 ms 18.81 ms
bunny n_rays=64 1.74 ms 27.45 ms
bunny n_rays=256 5.45 ms 85.02 ms
dragon n_rays=64 35.03 ms 466.07 ms
dragon n_rays=256 121.73 ms 1.456 s
happy_buddha n_rays=64 40.13 ms 583.11 ms
happy_buddha n_rays=256 136.91 ms 1.796 s
lucy n_rays=64 1.588 s 18.428 s
lucy n_rays=256 6.279 s 57.985 s

shape_diameter

0.1x1x10x100x1000xordito (CUDA): 56.02 ms, 1x ordito's timeordito (CUDA)1x · 56.02 msMeshLab: 9.738 s, 174x ordito's timeMeshLab174x · 9.738 s
dragon (871 414 faces) · n_rays=64 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 56.02 ms 1x
MeshLab 9.738 s 174x
All inputs
Input ordito (CUDA) MeshLab
sphere_small n_rays=64 336.2 µs
sphere_small n_rays=256 1.07 ms
bunny_decimated n_rays=64 801.6 µs 132.66 ms
bunny_decimated n_rays=256 2.82 ms 486.99 ms
bunny n_rays=64 3.56 ms 659.12 ms
bunny n_rays=256 13.65 ms 2.537 s
dragon n_rays=64 56.02 ms 9.738 s
dragon n_rays=256 218.42 ms 38.509 s
happy_buddha n_rays=64 69.79 ms 12.053 s
happy_buddha n_rays=256 273.86 ms 47.376 s
lucy n_rays=64 2.659 s 401.432 s
lucy n_rays=256 10.431 s > 10 min

thickness_at_vertices

0.1x1x10x100x1000xordito (CUDA): 1.48 ms, 1x ordito's timeordito (CUDA)1x · 1.48 msMeshLib: 41.33 ms, 28x ordito's timeMeshLib28x · 41.33 mstrimesh: 1.375 s, 931x ordito's timetrimesh931x · 1.375 s
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 1.48 ms 1x
MeshLib 41.33 ms 28x
trimesh 1.375 s 931x
All inputs
Input ordito (CUDA) MeshLib trimesh
sphere_small 185.5 µs
bunny_decimated 252.3 µs 596.9 µs 11.02 ms
bunny 246.6 µs 2.48 ms 51.29 ms
dragon 1.48 ms 41.33 ms 1.375 s
happy_buddha 1.78 ms 53.98 ms 1.735 s
lucy 64.27 ms 1.715 s 80.278 s

max_tangent_sphere_reach

0.1x1x10x100x1000xordito (CUDA): 20.83 ms, 1x ordito's timeordito (CUDA)1x · 20.83 mstrimesh: 12.174 s, 584x ordito's timetrimesh584x · 12.174 s
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 20.83 ms 1x
trimesh 12.174 s 584x
All inputs
Input ordito (CUDA) trimesh
sphere_small 273.1 µs
bunny_decimated 3.23 ms 427.19 ms
bunny 6.89 ms 1.644 s
dragon 20.83 ms 12.174 s
happy_buddha 21.77 ms 30.423 s
lucy 545.24 ms out of memory

volumetric_obscurance

0.1x1x10x100xordito (CUDA): 40.90 ms, 1x ordito's timeordito (CUDA)1x · 40.90 msMeshLab: 482.62 ms, 12x ordito's timeMeshLab12x · 482.62 ms
dragon (871 414 faces) · n_rays=64 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 40.90 ms 1x
MeshLab 482.62 ms 12x
All inputs
Input ordito (CUDA) MeshLab
sphere_small n_rays=64 141.8 µs
sphere_small n_rays=256 319.7 µs
bunny_decimated n_rays=64 432.0 µs 10.40 ms
bunny_decimated n_rays=256 1.37 ms 22.35 ms
bunny n_rays=64 1.97 ms 27.90 ms
bunny n_rays=256 5.98 ms 85.62 ms
dragon n_rays=64 40.90 ms 482.62 ms
dragon n_rays=256 136.46 ms 1.491 s
happy_buddha n_rays=64 43.71 ms 619.88 ms
happy_buddha n_rays=256 156.94 ms 1.844 s
lucy n_rays=64 2.212 s 19.208 s
lucy n_rays=256 7.392 s 62.796 s

thickness_interior

0.1x1x10xordito (CUDA): 257.2 µs, 1x ordito's timeordito (CUDA)1x · 257.2 µstrimesh: 764.1 µs, 3x ordito's timetrimesh3x · 764.1 µs
sphere_med (81 920 faces) · method=ray · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 257.2 µs 1x
trimesh 764.1 µs 3x
All inputs
Input ordito (CUDA) trimesh
shells_8 method=ray 326.6 µs 3.24 ms
shells_8 method=max_sphere 20.41 ms 462.60 ms
sphere_med method=ray 257.2 µs 764.1 µs
sphere_med method=max_sphere 424.88 ms 33.470 s