OpenGL 4.2: Compute Shader 'imageStore' Performance


I have just one short question:
“How can i store single texels in an efficient way in Compute Shaders?”
The performance of the function imageStore is really bad, so how can i increase that?

I know that SSBOs could be an alternative way to deal with this problem, but i would
really prefer to stay with image textures.

On my GPU, the imageStore function halfs the performance of the compute shader. That
is not really what i want!

Hope someone can help me!

  • Daniel

Has nobody an idea?

Are you doing scattered writes? If so, figure out how you can do sequential writes. If you have to, you can do scattered reads with sequential writes in order later to put things right.

Also might consider, do you ned a compute shader? Perhaps you can use transform feedback or standard rasterization to write out your data stream(s). I’m not saying the compute shader is a perf problem – I don’t have much experience with them. Just suggesting something else you might try for a comparison data point.