Shunter
03-22-2010, 08:22 AM
Hi,
I have a kind of strange problem with a little fragment shader based volume raycaster. From time to time it happens that the shader execution stalls, causing the application to hang a short time. What's even worse is that the stalling quite often exceeds 2 seconds so Windows kills the display driver and thereby causing the application to crash.
To track the problem down I stripped the application of any unnecessary parts but without luck. Only thing I noticed is that the origin might be a texture3d call within a loop in the fragment shader (to get the voxel data along the ray).
I took a look around for any known problems regarding 3d textures and GLSL but, again, without any luck.
Since it would take a while to explain the whole app/shader, here is a link to source and binaries of the sample application in case anybody feels like having a look:
[see below for link] (it's trafficshared, so you don't have to wait or anything)
The stalling happens on almost all systems, although fast and very slow ones mostly don't reach the 2 seconds. But a lag is still noticable (especially with Fraps). To reproduce, just hold down the left mouse button and rotate around fast. On my notebook it takes about 15 to 20 seconds to crash.
(x is for quitting)
Any hint regarding a probable cause or even remotely connected known problem would be highly appreciated since I just can't find anything and commercial raycasters working the same way don't seem to have that problem. :(
P.S.: Hope I didn't forget any vital information...
edit: I wouldn't advise to test the sample application under Windows XP since I didn't test it and it might crash the whole system instead of the driver. Afaik Vista is the first Windows OS with a usermode driver that can be restarted on the fly.
I have a kind of strange problem with a little fragment shader based volume raycaster. From time to time it happens that the shader execution stalls, causing the application to hang a short time. What's even worse is that the stalling quite often exceeds 2 seconds so Windows kills the display driver and thereby causing the application to crash.
To track the problem down I stripped the application of any unnecessary parts but without luck. Only thing I noticed is that the origin might be a texture3d call within a loop in the fragment shader (to get the voxel data along the ray).
I took a look around for any known problems regarding 3d textures and GLSL but, again, without any luck.
Since it would take a while to explain the whole app/shader, here is a link to source and binaries of the sample application in case anybody feels like having a look:
[see below for link] (it's trafficshared, so you don't have to wait or anything)
The stalling happens on almost all systems, although fast and very slow ones mostly don't reach the 2 seconds. But a lag is still noticable (especially with Fraps). To reproduce, just hold down the left mouse button and rotate around fast. On my notebook it takes about 15 to 20 seconds to crash.
(x is for quitting)
Any hint regarding a probable cause or even remotely connected known problem would be highly appreciated since I just can't find anything and commercial raycasters working the same way don't seem to have that problem. :(
P.S.: Hope I didn't forget any vital information...
edit: I wouldn't advise to test the sample application under Windows XP since I didn't test it and it might crash the whole system instead of the driver. Afaik Vista is the first Windows OS with a usermode driver that can be restarted on the fly.