0 Replies Latest reply on Jan 25, 2018 11:40 AM by mede

    Disappointing OpenGL/GLSL Performance for VR Volume Renderer compared to NVIDIA

    mede

      Hey AMD/ATI users

      We are working on a heavy GPU based Virtual Reality application doing Volume Raytracing on medical dataset.

      I recently both a new macbook because I was hoping to get more power with a 4 years newer computer.

       

      Sadly nearly all shaders are performing SLOWER compared to the old Nvidia hardware  (GPU Radeon Pro 560 vs NVidia GT 750M).

      As we do volume raytracing we are using sampler3D including sampler3D arrays which is just one problem:

       

      The access to a sampler3d array is not directly possible on AMD hardware. So far I fixed this with a switch statement which is much

      slower compared to the direct access possible on nvidia. Is there any better solution on AMD ?

      uniform sampler3D uTransmittance[8];
      vec4 getTransmittance(int index, vec3 pos) {
      #ifdef AMD
          switch(index) {
              case 0: return texture(uTransmittance[0], pos);
              case 1: return texture(uTransmittance[1], pos);
              case 2: return texture(uTransmittance[2], pos);
              case 3: return texture(uTransmittance[3], pos);
              case 4: return texture(uTransmittance[4], pos);
              case 5: return texture(uTransmittance[5], pos);
              case 6: return texture(uTransmittance[6], pos);
              case 7: return texture(uTransmittance[7], pos);
          }
      #else
          return texture(uTransmittance[index], pos);
      #endif
      }

       

      Also the "normal" OpenGL shaders rendering a simple 3D scene are mostly all slower. Will try to find out more about this.

      As conclusion I can confirm the misgiving that the new macbook pro's delivered with amd instead nvidia GPU could lead to problems with opengl based applications ;(