• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Tihiy

GDI Heap Extender

171 posts in this topic

What about rpxbeta3? See Tihiy's Aug 27 post. Is it more stable than rpxbeta2?

Beta3 was a very specific test release for one person's problem testing.

It was never intended for general use.

So... Beta1 is still the most stable release.

0

Share this post


Link to post
Share on other sites

sometimes when switching between fullscreen DOS programs and windows, I get this kind of GFX corruption :

http://www.fileden.com/files/2008/4/21/187...GFXmessedUp.jpg

it seems its more likely caused by the GFX drivers than anything else, but it's not happening when RP9 is not present. It happens sometimes though.

Also, is there any possibility to have something like "save states" in video game emulators, i.e when windows boots up, you store that state somwehre, and later on if resources get drained etc. you use that state to restore normal operation of things ? It would probably require one to shut off all programs that are running...

...and when there's any window open from Miranda IM, the RPconfig will not become visible.

0

Share this post


Link to post
Share on other sites

When I am using Bear and the original WIN 98SE Ressource Meter at the same time, I get 3 times the same values, but the values for GDI and User Ressiruces are inverted in two programs. Very strange !

How can I know what is the real GDI usage and what is User ressources usage ?

Thanks

Rodger

0

Share this post


Link to post
Share on other sites

Beta1 is still the most stable release.
I don't know, how you can say that. I tried B1 and 2, they both sucks, hanging my PC almost every time I click on any icon on the desktop or open a program window from Tray. Tihiy appears to abandon all his projects without finishing long time ago. May be someone would be interested to pickup where he left, fix the bugs and finish the project. It looks like a valuable tool to me, if working correctly. I've RP 9.1 installed and working OK, but taking even more dedicated memory (which is tiny by default) than without it. Edited by simco51
0

Share this post


Link to post
Share on other sites
Tihiy appears to abandon all his projects without finishing long time ago.
Well not really. I just shifted focus to other things (KernelEx for example). There is no point releasing new betas unless this thing is stable; finishing this thing requires dedicating extreme effort which is not feasible for me. I'm sorry for that, but I never claimed this thing as usable. I don't see critical problems with RP9 so your point is invalid.
0

Share this post


Link to post
Share on other sites

Any idea where i can download rpXbeta1.zip?

I wanted to test it on Opera since at least one of pages that i visit have so much graphical and flash content,

that it freezes my pc (with 768MB RAM).

All links that are in this topic show error 404.

0

Share this post


Link to post
Share on other sites

Hello Tihiy and hello dear win9x forum!

The GDI heap extender beta 1 or 2 can be installed over the RP9.7.2 or only over RP9.1.0?

Thank you.

I41Mar

0

Share this post


Link to post
Share on other sites

Hello Tihiy and hello dear win9x forum!

The GDI heap extender beta 1 or 2 can be installed over the RP9.7.2 or only over RP9.1.0?

Thank you.

I41Mar

This project was a test release for RP 9.1.0.

Newer RP versions like 9.7.2 replace most of the files from this test release with different and newer builds.

So, to directly answer your question, it can only be used with RP 9.1.0.

Newer RP releases have some heap optimisation technology built in that does improve resource use.

Not as much as this test release, but at least it is stable.

0

Share this post


Link to post
Share on other sites
...adding line in win.ini section [windows]

[windows]
GDIMaxHeapSize=2048
(value in KB)

I would think of values like:

<128MB of RAM: 4096 (4MB)

128-256MB of RAM: 8192 (8MB)

256-512MB of RAM: 16384 (16MB)

>512MB of RAM: 32000 (~32MB, maximum value you can set).

Well, none of the GDI Heap Extender links work anymore, including the recommended Beta 1, however, I've tried the above 'win.ini' setting (set to 8192) and it's improved stability markedly, particularly, Shutdown no longer hangs. :)

Joe.

Edited by jds
0

Share this post


Link to post
Share on other sites

Well, these tricks are rather old now.

They were given by Tihiy and dencorso,

but with the heap optimisation built in last RP (and KernelEx?), do we actually need them?

BTW jds, Tihiy said later that it is inadvisable to allow more than 4 MB to GDIMaxHeapSize as it may deplete too much selectors.

0

Share this post


Link to post
Share on other sites

Well, these tricks are rather old now.

They were given by Tihiy and dencorso,

but with the heap optimisation built in last RP (and KernelEx?), do we actually need them?

BTW jds, Tihiy said later that it is inadvisable to allow more than 4 MB to GDIMaxHeapSize as it may deplete too much selectors.

Thanks for the heads-up about that selectors thing, even if I don't quite know what it means.

However, Tihiy didn't specifically say that setting the heap limit above 4M would cause a problem, simply that RP10 would default to 4M and that setting too high a limit may deplete selectors. How high a limit would cause problems is not specified, although we can infer that it is somewhere above 4M. Anyway, I'm still learning these old tricks and simply report my finding, that setting the limit to 8M (on two machines now) has made a noticeable improvement to stability.

Joe.

0

Share this post


Link to post
Share on other sites
However, Tihiy didn't specifically say that setting the heap limit above 4M would cause a problem

You are right.

For my part, I have tried with 4 MB for USER & GDI and doesn't see a real difference.

So, Tihiy if you are here what would you recommend currently for those tricks? :w00t: (with last builds of RP & KernelEx already installed). :D

0

Share this post


Link to post
Share on other sites
However, Tihiy didn't specifically say that setting the heap limit above 4M would cause a problem

You are right.

For my part, I have tried with 4 MB for USER & GDI and doesn't see a real difference.

So, Tihiy if you are here what would you recommend currently for those tricks? :w00t: (with last builds of RP & KernelEx already installed). :D

Well, if you use RP, this defaults to 4MB for the GDI heap, so setting this explicitly would make no difference.

As for myself, I should mention that I'm running KernelEx but not RP. Since RP has an inbuilt version of the "GDI Heap Extender", the GDI heap requirements would be lower than for a system without RP (such as mine). I should also mention that 8MB was the one and only setting I've tried, it is possible that a 4MB setting would also be sufficient to exhibit markedly improved stability.

Joe.

Edited by jds
0

Share this post


Link to post
Share on other sites

Tihiy appears to abandon all his projects without finishing long time ago. May be someone would be interested to pickup where he left, fix the bugs and finish the project.

I'm hoping for the same thing. I don't use anything this guy create because he never finishes no matter what.
0

Share this post


Link to post
Share on other sites

Well, these tricks are rather old now.

They were given by Tihiy and dencorso,

but with the heap optimisation built in last RP (and KernelEx?), do we actually need them?

BTW jds, Tihiy said later that it is inadvisable to allow more than 4 MB to GDIMaxHeapSize as it may deplete too much selectors.

Thanks for the heads-up about that selectors thing, even if I don't quite know what it means.

However, Tihiy didn't specifically say that setting the heap limit above 4M would cause a problem, simply that RP10 would default to 4M and that setting too high a limit may deplete selectors. How high a limit would cause problems is not specified, although we can infer that it is somewhere above 4M. Anyway, I'm still learning these old tricks and simply report my finding, that setting the limit to 8M (on two machines now) has made a noticeable improvement to stability.

Joe.

Well, there is a problem... While I used 16M for both GDIMaxHeapSize and USERMaxHeapSize, I had this issue, which went away when I fell back to 4096. However, since RP calls the Windows native LDT cleanup when LDT is lower than 20%, you won't normally notice that issue, except for the red light. But it's much better to avoid having the LDT cleanup routine (which Tihiy deems not that effective anyway) called more sparingly, to avoid unnecessary system processing, so 4M is the best value to use for both.

0

Share this post


Link to post
Share on other sites

However, Tihiy didn't specifically say that setting the heap limit above 4M would cause a problem, simply that RP10 would default to 4M and that setting too high a limit may deplete selectors. How high a limit would cause problems is not specified, although we can infer that it is somewhere above 4M. Anyway, I'm still learning these old tricks and simply report my finding, that setting the limit to 8M (on two machines now) has made a noticeable improvement to stability.

Well, there is a problem... While I used 16M for both GDIMaxHeapSize and USERMaxHeapSize, I had this issue, which went away when I fell back to 4096. However, since RP calls the Windows native LDT cleanup when LDT is lower than 20%, you won't normally notice that issue, except for the red light. But it's much better to avoid having the LDT cleanup routine (which Tihiy deems not that effective anyway) called more sparingly, to avoid unnecessary system processing, so 4M is the best value to use for both.

A Suffusion of Red? ;)

Thanks for those numbers, Den. I've been using GDIMaxHeapSize=8192 on all my W98SE machines for some months now, to good effect. As for USERMaxHeapSize, I've not been able to set this anyway, from what I've read, this is a string variable in "HKCU\Control Panel\Desktop", yet there seems no effect whatever value is used for it.

Joe.

0

Share this post


Link to post
Share on other sites

A Suffusion of Red indeed! :D

USERMaxHeapSize does work, but it seems, most if not all our resource issues stem just from too little a GDIMaxHeapSize, so it seems to do nothing. And thanks for reporting 8M works! :thumbup I understand you've got no red light from it, right?

0

Share this post


Link to post
Share on other sites

most if not all our resource issues stem just from too little a GDIMaxHeapSize, so it seems to do nothing.

Here it's always been the user resources that have been the main problem and that's why I deeply regret Tihiy didn't finally implement user salvation in RP (as gdi salvation works wonders).

Btw, if you can get your hands on some copy of the old McAffee Nuts & Bolts utilities (sold under various names and packaging), you'll find in it the WinGauge monitoring utility, which is AFAIK (you'll let me know if this is wrong) the only utility showing separately the use of the 16bit and 32bit resource heaps. It also shows use of GDT and LDT (GDT is never an issue).

And Dencorso, I don't think it's accurate at all to say that too little a GDIMaxHeapSize is the main issue with resources as this the 32bit heap and when things go wrong, in my observation, it's always because of the depletion of the 16bit heaps which are limited to 64k.

Edited by loblo
0

Share this post


Link to post
Share on other sites

Thanks for the heads up about WinGauge, I'll try it soon. :thumbup

RP does have a rudimentary form of USER salvation. In its current form, RP does reduce the USER issue some.

But the full-fledged version of it that remains just a wish, regretably...

Revolutions Pack 9.5.0 RC

lol just 1 year for new release

<snip>

[General]

* New: RP has been re-architected and partially rewritten into C to improve reliability and performance

* New: system libraries shared memory (IAT) is protected from damaging

* New: a load of user32 functions were rewritten to reduce resource usage, improve system performance and stability

* Critical fix: parts of RP functionality could become disabled if shared libraries were swapped out

* Lots of minor changes

[uSER salvation]

* New: window properties are moved out of 64K heap, reducing USER resource usage

* New: SendMessage*/PostMessage* functions have limit on message count per thread to prevent resource drain

(and thus solve hangs after file operations, forever)

<snip>

[setup]

* Simplified; less options.

* Does not require GDI or USER updates anymore.

* Automatically updates DIBENG.DLL if needed.

Highlights of this release: bugfixes, USER resource usage, Windows 7 skin, RPConfig UI.

I wanna hear first adopters.

0

Share this post


Link to post
Share on other sites

A Suffusion of Red indeed! :D

USERMaxHeapSize does work, but it seems, most if not all our resource issues stem just from too little a GDIMaxHeapSize, so it seems to do nothing. And thanks for reporting 8M works! :thumbup I understand you've got no red light from it, right?

Well, I deleted RP due to its messing up my quick launch / task bar. So I can't say about the coloured lights, however, see below ...

Here it's always been the user resources that have been the main problem and that's why I deeply regret Tihiy didn't finally implement user salvation in RP (as gdi salvation works wonders).

Btw, if you can get your hands on some copy of the old McAffee Nuts & Bolts utilities (sold under various names and packaging), you'll find in it the WinGauge monitoring utility, which is AFAIK (you'll let me know if this is wrong) the only utility showing separately the use of the 16bit and 32bit resource heaps. It also shows use of GDT and LDT (GDT is never an issue).

And Dencorso, I don't think it's accurate at all to say that too little a GDIMaxHeapSize is the main issue with resources as this the 32bit heap and when things go wrong, in my observation, it's always because of the depletion of the 16bit heaps which are limited to 64k.

Well, I'd not heard of Mcafee "Nuts & Bolts" nor "WinGauge" before, however, I've managed to track down an evaluation copy at some academic/teaching site :

http://www.cbe.name/share.srf/tppmsgs/share.srf?changefolder=1&folder=%5C(03%BF%CE%BC%FE%CB%D8%B2%C4)%5C%B9%B2%CF%ED%C8%ED%BC%FE%5C%B9%B2%CF%ED%C8%ED%BC%FE%BF%E22%5C162

This file seems to have originally been available here (defunct URL) : http://download.mcafee.com/products/evaluation/nuts_and_bolts/english/win9x/NB0201AD.EXE

Anyway, after figuring out how to use "WinGauge" (wgpro32.exe), I'm impressed by the range of parameters it can monitor or report. Your assertion that the 16-bit GDI and User resources are most critical seems to be true. As I write this, the 16-bit versions are showing about 40% usage, whereas the 32-bit versions are showing less than 10% usage. However, resource leakage hasn't occurred (much) yet, so that situation may change. Also, GDT shows 1% usage and LDT shows 37% usage.

Joe.

Edited by jds
0

Share this post


Link to post
Share on other sites

And Dencorso, I don't think it's accurate at all to say that too little a GDIMaxHeapSize is the main issue with resources as this the 32bit heap and when things go wrong, in my observation, it's always because of the depletion of the 16bit heaps which are limited to 64k.

Loblo, now that I've been able to try WinGauge on a number of occasions, I can confirm what you say. With my settings for GDIMaxHeapSize, it's always the 16 bit GDI or User resources that run out when W98 leaks.

Joe.

Edited by jds
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.