ocornut / imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
MIT License
59.52k stars 10.14k forks source link

GPU Memory Usage skyrockets opengl3_exmple.exe #1612

Closed hippyau closed 5 years ago

hippyau commented 6 years ago

Hi, I have tried the opengl3 example binaries and compiled my it myself with VC2015 and I noticed in Win10 task manger the shared GPU memory climbing about 5MB/second.

In the screenshot, it's at 1GB. imgui-gpu-memory-usage

Awesome GUI BTW!

Cheers, Hippy

ocornut commented 6 years ago

What's the framerate?

The examples used to run at uncapped framerate to test performances so that would burn a core. I changed them to use vsync and cap the framerate.

Your version also looks very old also, it doesn't display a version number in the demo window.

ocornut commented 6 years ago

EDIT Sorry need to clarify, I wonder if framerate has an effect on displayed memory if the driver use some sort cache / gc for its buffers based on time elapsed (dumb theory I know). Can you try enabling vsync? Try the latest binaries?

This is what I get now (last two columns are: dedicated GPU memory, shared GPU Memory) DirectX11: image

OpenGL3 image

It doesn't grow here.

You may try with different binaries here: http://www.miracleworld.net/imgui/binaries/ Try to narrow the bug if something changed.

hippyau commented 6 years ago

Thanks, my binaries were 20161113 doing the same, I also compiled cimgui pulled yesterday (as I am binding another language but I don't think it's related) and my demo opengl2 does the same this on ImGui 1.53 and i've a 10ms delay in there to bring the rate down, and it has slowed the climb. I will try vsync and see what happens, let you know. Cheers :) imgui-gpu-memory-usage

ocornut commented 6 years ago

Also try all the available binaries I linked too, and see if maybe your GPU driver needs an update?

hippyau commented 6 years ago

It seems isolated to openGL, as the DirectX binaries use about 11MB constantly. I'm using a Alienware 13 on the Intel HD 5500 (trying to run on the NVIDIA GTX860M crashes crashes all demos). I don't know how to vsync the openGL I might just switch to DirectX. (checked drivers are up to date)

rotoglup commented 5 years ago

Hi, FWIW I've noticed the same behaviour with my build from the current master, but with reported 'dedicated memory' growing, at about 200Mb / sec.

image

I tested the binaries you linked and saw the same with 3 randomly picked binaries :

The behaviour is the same for 'opengl2_example.exe' and 'opengl3_example.exe'. 'vulkan_example.exe' too.

My system is with Nvidia 2016 drivers - see below, I'll attempt a driver update, I'll let you know if it changes something.

         Operating System: Windows 10 Famille 64-bit (10.0, Build 17134) (17134.rs4_release.180410-1804)
                 Language: French (Regional Setting: French)
      System Manufacturer: ASUSTeK COMPUTER INC.
             System Model: N56VZ
                     BIOS: BIOS Date: 03/15/12 11:15:39 Ver: 04.06.05 (type: BIOS)
                Processor: Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz (8 CPUs), ~2.3GHz
                   Memory: 8192MB RAM
      Available OS Memory: 8078MB RAM
                Page File: 8320MB used, 2658MB available
          DirectX Version: DirectX 12
      DX Setup Parameters: Not found
         User DPI Setting: 96 DPI (100 percent)
       System DPI Setting: 120 DPI (125 percent)
          DWM DPI Scaling: Disabled
                 Miracast: Available, with HDCP
Microsoft Graphics Hybrid: Supported
           DxDiag Version: 10.00.17134.0001 64bit Unicode

           Card name: NVIDIA GeForce GT 650M
        Manufacturer: NVIDIA
           Chip type: GeForce GT 650M
            DAC type: Integrated RAMDAC
         Device Type: Full Device
          Device Key: Enum\PCI\VEN_10DE&DEV_0FD1&SUBSYS_21031043&REV_A1
       Device Status: 0180200A [DN_DRIVER_LOADED|DN_STARTED|DN_DISABLEABLE|DN_NT_ENUMERATOR|DN_NT_DRIVER] 
      Display Memory: 6056 MB
    Dedicated Memory: 2017 MB
       Shared Memory: 4038 MB
 Driver File Version: 21.21.0013.7306 (English)
      Driver Version: 21.21.13.7306
rotoglup commented 5 years ago

Updating the driver solved the issue here :) Probably nothing more than a driver issue.

image

           Card name: NVIDIA GeForce GT 650M
        Manufacturer: NVIDIA
           Chip type: GeForce GT 650M
      Driver Version: 25.21.14.1616
ocornut commented 5 years ago

Closing this old issue as general "old drivers / opengl" untackled mystery.