added compute shader
fixed performance