Maximum capacity of 7500 active GDI objects reached

Questions about MultiCharts and user contributed studies.
seneca
Posts: 97
Joined: 02 Apr 2012
Has thanked: 38 times
Been thanked: 22 times

Maximum capacity of 7500 active GDI objects reached

Postby seneca » 29 Aug 2014

When I open some additional workspaces, I get this warning message.
message.jpg
(28.4 KiB) Downloaded 1484 times
When it pops up, I am not able to open additional workspaces. I run Beta 3 64 Bit and did not encounter this issue with older releases.

I don't do any fancy stuff and plot just some few minute charts, distributed on several workspaces. The CPU, GPU and RAM resources of my rig should be more than sufficient, so I wonder what is causing this issue.

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby Henry MultiСharts » 29 Aug 2014

Hello seneca,

GDI objects are all objects that form the MultiCharts window and charts in it (all toolbars, menus, buttons, bars, drawings, etc). The Windows system limitation per one process is 10,000 objects. In order to avoid such issue in the future please run multiple instances of MultiCharts applications. To do that-double click on MultiCharts icon on your desktop or in the start menu. Each instance will be able to handle up to 10,000 objects. You can utilize the new Desktops functionality to setup each instance the way you need it.

wilkinsw
Posts: 662
Joined: 21 Apr 2013
Has thanked: 154 times
Been thanked: 104 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby wilkinsw » 26 Nov 2014

Hi Henry,

Why has the max GDI's reduced for MC 9.0 vs MC 8.8?

I'm now encountering this issue on MC9 and didn't on MC8.8.

Would rather not have to open two MC instances.

Is there a registry I can edit?

Thanks.

User avatar
Henry MultiСharts
Posts: 9165
Joined: 25 Aug 2011
Has thanked: 1264 times
Been thanked: 2957 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby Henry MultiСharts » 26 Nov 2014

The user reports and our tests have shown that previously allowed quantity (9500) was too much and the application could become unstable or even crash. To avoid such issue the limit was moved to 7500 GDI objects.

thutch
Posts: 52
Joined: 16 Sep 2011
Has thanked: 16 times
Been thanked: 10 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby thutch » 03 Sep 2015

Hi Henry,

I have run into that 7500 GDI Object limit, which is quite a pain.

I read the suggestion about starting 2 Multicharts instances (which seems to be the only solution?). If I were to do that, could I somehow save each instance separately so that my unique collections of charts in each instance would load automatically upon start-up?

And does a dual MC set-up connecting to the same IB account cause any issues, in any known way?

I'm using 30 Workspaces with 3 charts each. Resolutions from 4-hours and up.

Thanks for bearing with me. I'm sure you guys have thought of a solution! You just need to guide me to it ;)

thank you
Tom

PS I'm using the 64-bit version. Latest Release.

User avatar
TJ
Posts: 7740
Joined: 29 Aug 2006
Location: Global Citizen
Has thanked: 1033 times
Been thanked: 2221 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby TJ » 03 Sep 2015

::
And does a dual MC set-up connecting to the same IB account cause any issues, in any known way?
From TWS' perspective, it is a single MultiCharts connection.
Multiple instances of MultiCharts connect to the same MC database and the same MC server.

I estimate that at least half of the MultiCharts users use multiple instances in their trading setup.

::
I'm using 30 Workspaces with 3 charts each. Resolutions from 4-hours and up.
::
Have you considered a second machine and second MultiCharts license?
If I were following so many wsp and charts, I would want to have a redundant setup.

Just my thoughts. YMMV.

thutch
Posts: 52
Joined: 16 Sep 2011
Has thanked: 16 times
Been thanked: 10 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby thutch » 03 Sep 2015

Thank you TJ.

I discovered the MC Wiki and have been reading about Desktops. I think that appears to be the solution.

Emmanuel
Posts: 355
Joined: 21 May 2009
Has thanked: 109 times
Been thanked: 28 times

Re: Maximum capacity of 7500 active GDI objects reached

Postby Emmanuel » 09 Jun 2021

GDI objects are all objects that form the MultiCharts window and charts in it (all toolbars, menus, buttons, bars, drawings, etc). The Windows system limitation per one process is 10,000 object
Now it is possible to increase the limitation of GDI object :

https://techcommunity.microsoft.com/t5/ ... a-p/723881
https://support.altia.com/hc/en-us/arti ... in-GDI-max

For Windows XP/Vista/7/8 (NOT Windows 10):

Here is a helpful web page describing the workaround:
http://weblogs.asp.net/mikedopp/archive ... imits.aspx
In summary, the workaround is:
Increase the registry setting for GDIProcessHandleQuota in HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows.
The default setting is 10000 decimal. It can be increased to 65535 decimal. The 65535 value is the theoretical maximum allowed by Windows. The actual maximum number of GDI Objects for a specific computer may be less. With GDI Objects set to 65535 decimal, Altia has seen a design with 17,000 images allocate 17,000 GDI objects successfully. Altia does not have experience with designs using more than 17,000 images. It is not a recommended practice to create designs with so many images. Many large designs seldom exceed 3000 images.
It may be necessary to reboot the computer for the change to get applied.
For Windows 10:

Here is a helpful web page describing the workaround:
https://stackoverflow.com/questions/386 ... windows-10
In summary, the workaround is:
Windows 10 must be version 1803 or newer. Earlier versions have a bug that does not allow changing the default setting of 10000 decimal. To find your version, do Windows Start > Settings > System > About, under Windows Specifications, look at the Version.
Windows 10 x64 has 2 registry entries to change to 65536 decimal:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Windows\GDIProcessHandleQuota
Windows 10 requires a reboot for the changes to get applied.


Return to “MultiCharts”