4 Replies Latest reply on Jan 30, 2013 4:56 AM by urishomroni

    CodeXL OpenGL memory usage reporting broken?



      Here is a screen capture from an app of mine, running under CodeXL.


      The numbers sort of seem credible, but I am uncertain about the units. 28,160 KB (aka 28MB) seems possibly credible for static buffers (VBOs, I think) but it seems like that's on the high side. 57,208 KB (57MB) seems high for my texture usage. And 251,743,675 KB (251GB) seems WAAAAAY high for me Render Buffers. I can assure you my computer doesn't have that much memory anywhere, much less on the display chipset.


      Are these numbers actually in BYTES, not KILOBYTES?

        • Re: CodeXL OpenGL memory usage reporting broken?


          Can you share some more info about the scenario in which this problem occurred:

          Which version of CodeXL are you using? Which platform? Which driver version?

          Can you share your application's binary?

            • Re: CodeXL OpenGL memory usage reporting broken?

              CodeXL v 1.0.2409.0, Windows 7/64,


              This particular machine is a laptop with an Nvidia GeForce GTX 560M, running the 306.97 driver release.


              I had the Nvidia PerfKit tool running (I believe gDebugger used to require this for memory measurement), but I'm not sure if CodeXL uses it or requires it.


              I probably could share the binary if necessary, but it's complex and not small, so I'd prefer to avoid having to do so.

                • Re: CodeXL OpenGL memory usage reporting broken?

                  Hey, anybody want to reply to this? It's just a simple question - are those units reported correct or is this a bug? If it's a bug, I can work around it by telling myself what the correct units are. But I need to KNOW that in order to credibly use the tool.

                    • Re: CodeXL OpenGL memory usage reporting broken?



                      The memory sizes displayed in CodeXL are entirely based on API input and do not require any driver or vendor-specific information. They are estimates* made by multiplying the pixel / element size by the pixel / element count.

                      The size is supposed to be in KB and not in bytes (the value is calculated in bits, actually).


                      * The actual size depends on data copying (is it stored on the host, on the device, or both?), data packing (alignment and page / memory unit sizes) and other such highly vendor and implementation specific information.


                      The value shown for the render buffers appears to indeed be a bug - it was calculated as bits rather than KB. It will be fixed in the next CodeXL version. For now, to get the real value, just divide by 8192.


                      Thanks for the report,