How will lots ComputeBuffer instances affect performance? And why?

I know that I should call ComputeBuffer.Release() on every ComputeBuffer I create, but will it affect performance if I were to have lots of open ComputeBuffers at once? and by "lots" I mean hundreds to thousands.

It of course goes without saying that all of those ComputeBuffers will be released at some point, possibly at the same time.

  • 1
    \$\begingroup\$ What does your profiling tell you when you make a synthetic test with many compute buffers on your target hardware? You can trust that empirical evidence far more than the hearsay of strangers on the Internet, whose experience may not be reflective of your situation or hardware targets. \$\endgroup\$
    – DMGregory
    Nov 14, 2019 at 16:57
  • \$\begingroup\$ @DMGregory I asked the question in case anyone already knows and could possibly also explain to me why it does / doesn't affects performance, I know I could test it by myself but I wouldn't get the "why", just the "is". \$\endgroup\$ Nov 14, 2019 at 17:58
  • \$\begingroup\$ @DMGregory Since I can see it wasn't clear, I fixed it and edited the question. \$\endgroup\$ Nov 14, 2019 at 17:59
  • \$\begingroup\$ "will it affect performance" yes. How strongly? It depends. \$\endgroup\$ Nov 10, 2021 at 18:54


You must log in to answer this question.

Browse other questions tagged .