You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm attempting to use SPIRV-Cross (in the wgpu-native stack) to compile shaders for a raytracing kernel.
Doing a simple test with spheres scattered around the scene, I notice an exponential-ish slowdown with number of spheres:
Number of spheres
spirv-cross time (ms)
10
13
15
30
16
42
17
72
18
122
19
225
20
443
21
907
22
1890
Here are example shaders with 10 spheres and 22 spheres (linked to the function which changes; everything above is boilerplate). You can reproduce timing with glslc shader10.frag && time spirv-cross --msl a.spv.
A stack trace shows an alarming deep set of calls into exists_unaccessed_path_to_return.
The text was updated successfully, but these errors were encountered:
mkeeter
changed the title
Extreme slowdown on large scenes
Exponential slowdown with linear increase in shader size
Jan 19, 2021
mkeeter
changed the title
Exponential slowdown with linear increase in shader size
Greater-than-linear slowdown with linear increase in shader size
Jan 19, 2021
Good morning!
I'm attempting to use SPIRV-Cross (in the
wgpu-native
stack) to compile shaders for a raytracing kernel.Doing a simple test with spheres scattered around the scene, I notice an exponential-ish slowdown with number of spheres:
spirv-cross
time (ms)Here are example shaders with 10 spheres and 22 spheres (linked to the function which changes; everything above is boilerplate). You can reproduce timing with
glslc shader10.frag && time spirv-cross --msl a.spv
.A stack trace shows an alarming deep set of calls into
exists_unaccessed_path_to_return
.Any ideas?
The text was updated successfully, but these errors were encountered: