title: One big SSBO or multiple small ones in Compute Shaders OpenGL
body: <p>Is there any difference when I allocate multiple small SSBOs for usage in compute shaders over a big one, internally mapped to many arrays? </p>
  
  <p>By the difference I mean the read/write performance. Does the GPU memory even care about the SSBO partitioning or does it handle everything uniformly.</p>
  
  <p>Here is an example in shader:</p>
  
  <pre><code>layout (std430, binding=1) buffer bufferA
  {int elementsA[]};
  
  layout (std430, binding=2) buffer bufferB
  {int elementsB[]};
  ...
  
  //VS
  
  layout (std430, binding=1) buffer buffers
  {
  int elementsA[MAXCOUNT_A];
  int elementsB[MAXCOUNT_B];
  ...
  };
  </code></pre>
  
  <p>One big buffer would avoid the need of many allocations from CPU side and result in a cleaner code, leaving the memory partitioning to the shader code. Of course I'd need to specify maximum size for each array representing a buffer which might result in needless memory allocation. I am however more concerned about the runtime access speed.</p>
  
  <p>Is this merging even a good practice? Now in my code I am getting too much small buffer allocations which kind of ugly :D.</p>