Help - Search - Members - Calendar
Full Version: GDI Heap Extender
MSFN Forums > Microsoft Software Products - Discussion & Support > Windows 95/98/98SE/ME > Windows 9x Member Projects
Pages: 1, 2, 3

   


Google Internet Forums Unattended CD/DVD Guide
Tihiy
GDI Heap Extender is a technology aimed to improve Windows 98/Me system capability to load more programs and run more stable by extending available GDI resources.

Alpha 1-5 apply extender technologies now only to one type of GDI resource - DIB bitmap, which is most common heavy resource.
Beta 1-2 covers all bitmaps and thus saves more resources.
Eventually, this technology will be included into Revolutions Pack.

Beta (meaning - untested) version is aimed to ensure:
- This technology will work on all systems and all file versions.
- This technology is applicable to real systems.
- This technology does not introduce problems with performance and stability.

So, you can help me much by testing it.

What you shouldn't see:
- Crashes, BSODs and lockups.
- Graphical glitches.
- Resource leaks.

Be aware:
- Any crash would be fatal, and any error during initialization will lock up your system.

Download:
http://tihiy.ahanix.org/rpXbeta2.zip
Beta 2 installs on top of latest RP9 (RP9.1.0) and replaces existing RP9 "GDI Salvation" techologies.
Extract zip somewhere, right-click on .inf file and select "Install".

Also:
Please don't duplicate error messages. Please don't redistribute. Please read this thread.
Tihiy
here be dragons
Fredledingue
Just one question, sir:
Which software do you suggest to use while testing? "Bitmap" sounds like graphic softwares should run during the test, isn't it?
Tihiy
Well, it's recommended for problematic software.

Let's make table with problematic soft in this post then!

Opera 9.6
Uses a lot of GDI resources with web pages and itself. Opening a lot of tabs may drop resources below 40%.
Alpha 1: +500% improvement.

ImgBurn 2.4.x
Uses a lot of resources by itself. (1/3 of all system).
Alpha 1: +100% improvement.

Flash 9+
May leak GDI resources with problematic web pages.
Alpha 1: not tested.

Foxit Reader 2-3
Leaks a lot of GDI resources. Extremely unstable.
Alpha 1: not helping.

SolSuite 2008
Uses a lot of GDI resources. May consume all available resources.
Alpha 1: not helping.
eidenk
Cool, I'll be testing this ASAP.

I'll report promptly all the many bugs I will find of course rolleyes.gif
eidenk
I think you can be proud thumbup.gif

First time I did run the loader it crashed in kernel32 but the dll was injected properly nevertheless it seems and then suddenly Opera was horribly garbled and full of graphic glitches. I thought OMG and I closed Opera. The rest of the system seemed fine so I launched Opera again and it was all fine apparently. Then I opened more than 50 tabs with a different webpage each and free GDI resources dropped from 84% to 66%, no glitches or errors, everything OK. I saved the session and rebooted to compare the GDI drop of that session without the expander. Without the expander free GDI resources dropped from 84% to 35%. Subsequent loading of the expander went without error this time and reloading the 50+ tab session resulted in the same drop (84 to 66) as the initial test. Stability of the OS does not seem affected at all. I'll leave it always on from now and report if an eventual problem shows up.

Great job dude thumbup.gif
EyesOfARaven
Here are my notes while testing, copypasted from a notepad session:
CODE
22 firefox tabs with firefox start up no problem at 84% gdi/user and 89% system free, resources freed afterwards too

iexplore.exe caused a GPF in krnl386.exe 0001:000058ba

after loading youtube.com, ie6sp1, flash 9

rebooting after that crash, startrpx caused an illegal operation, invalid page fault in kernel32.dll at 0187:bff7ce0

attempting to start startrpx by hand (i put it in the run key) results in "FAIL! Not mov and sub but 7f00809a there"

The system then crashed, aside from cursor movement.

Removing it from the run key on next stable startup and reinstalling RP9, as this seems to unstable on my system for daily testing.

My system:

P3 1ghz
512mb ram (510-11 seen by windows due to onboard graphics I dont use)
64mb geforce 4 440 mx pci
750gb fat32 single partition ide disk on promise 133tx2 ide controller pci
windows 98 se sp3 2 me w/ multiple TSRs loaded high and a custom memory management setup (if you want I'll post autoexec and config and msdos files)


Correction, I will be leaving it installed, after the next reboot I was able to use the system normally, iexplore caused a crash due to the DIBENG.DLL udpate from RP9 which i did NOT uninstall, a GPF at 0005:00003f2f

ddhelp then did illegal operation of an invalid page fault in GDI.EXE at 0001:000073b0

No other ill effects from that crash. I will stop using IE6 for the remainder of the testing, as the other browsers should be more stable and capable now anyway.

Edit 2: EVERYTHING is crashing due to dibeng.dll, you really should have warned us about that component specifically, as it isn't uninstalled with RP9. I will try to remove it (if I can)...

Edit 3: Correction again, DIBENG.dll crashing seems to have only happened during that bootup, this is very odd. I will still attempt to remove the update to avoid further issue.

Edit 4: Renaming dibeng.dll causes issues with explorer and apparently my color levels, I will try to expand one from a cab..
eidenk
EyesOfaRaven whistling.gif I don't want to be a prick and we appreciate your willingness to help by testing and reporting bugs but you have a running thread that you have just opened yesterday or the day before because your system regularly crashes in all corners, notably IE...
EyesOfARaven
QUOTE (eidenk @ Jul 19 2009, 04:57 PM) *
EyesOfaRaven whistling.gif I don't want to be a prick and we appreciate your willingness to help by testing and reporting bugs but you have a running thread that you have just opened yesterday or the day before because your system regularly crashes in all corners, notably IE...


Yes but those have been almost completely resolved when I removed emm386 (still crashes after a few hours of browsing), and these are completely different, starting the second I browsed to youtube.

Replacing the dibeng.dll from the cab (win98_22 I believe it was) fixed the dibeng problems.

HOLY CRAP: This alpha version fixed the lag in flash for me using flash 10 on firefox 2! Excellent!

Edit: (cept full screen, but it IS faster) same for flash 9, I just tested.
Tihiy
Hey hey hey, EyesOfARaven, slow down.
Dibeng.dll crashes are possible and i'm looking for it, however from your dump i can't see a thing clearly.
It's no use replacing dibeng.dll since it's not related. You should uninstall/disable RP9 for test, however.

If you're seeing dibeng.dll problems (AFTER starting heap extender) use drwatson and attach its log to the post.

From your log it's all sorts of problems. Please tell me:
- what is happening after you run startrpx (better don't put it into run key)
- which gdi.exe version/language is
- which app causes problems for ya

Edit: oh, i've reproduced IE/youtube/flash crash. Well, show must go on...
EyesOfARaven
IE6SP1 causes problems, I believe it's when it hits flash content loading.

GDI.EXE is version 4.90.3002

After changing DIBENG.DLL back to stock, and not touching IE, and with some luck (one reboot crashed when rpxstart ran, no others have) it is working fine now.

And aye, the IE6 crash is pretty reproducable, I'm just going to avoid IE until we get a new testing version from ya, as the performance increase for the rest of the system is too nice to trade out, heh.

I'll reboot with drwatson in the start key and the patched dibeng, and see if I can get you a log. It was crashing almost everything, and I've had no issues with the DIBENG update PRE-RP10 alpha.
Philco
QUOTE
...adding line in win.ini section [windows]

CODE
[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).


QUOTE
you can also go to HKEY_CURRENT_USER/Control Panel/Desktop/ and create the string value USERMaxHeapSize...


Pls, Tihiy result:
GDIMaxHeapSize=32000 (my RAM 768MB) on win.ini?

And reg (dencorso) tips VALUE?

Or you GDI Heap load this value on system?
EyesOfARaven
Those two tweaks affect the 32-bit heaps, while Tihiy's program (AFAIK) only messes with the 16-bit heaps.

Edit: I closed DrWatson, not thinking the crashes were going to happen after testing for a while, and then IE crashes the second I close it. I open DrWatson, click close on the box, and it catches the subsequent crash (same ones I mentioned earlier with dibeng). I then tried to run IE again with DrWatson running and DrWatson disappeared, I tried to run it again, no go, I tried to run IE again, and it brought up the white error box with close/ignore about horrible problems, and the system locked when I hit close.

One way to reproduce the DIBENG crash of IE is to navigate to http://www.microangelo.us/welcomet.asp and then click "enter"..

Here's the watson log for GDI.EXE crashing after IE crashed from DIBENG:
http://www.mediafire.com/?wjjwzqmm2nu

I'm posting a watson log of IE crashing due to DIBENG and then explorer crashing shortly after while trying to copy the log for IE shortly after (then the system crashed with blue screen and I rebooted).

IE Log:
http://www.mediafire.com/?jnnyjjgb4qj

Explorer Log:
http://www.mediafire.com/?tq5m5iywk4d
Philco
After loading startrpx.exe
+ Firefox 2.0.22.0pre - system resources down 7% with 25 tabs thumbup.gif
- crash IE 6.1 czech (with FlashPlayer 9.0.28.0) on start browser and page with any flash swf unsure.gif (GDI.EXE) and restart (freeze system and error messages....), crash explorer. How off this features on IE/Flash? Problem on FlashPlayer for IE.
Foxit 2.3 (3309) tested, not problem, not effect.
EyesOfARaven
QUOTE (Philco @ Jul 19 2009, 07:12 PM) *
After loading startrpx.exe
+ Firefox 2.0.22.0pre - system resources down 7% with 25 tabs thumbup.gif
- crash IE 6.1 czech (with FlashPlayer 9.0.28.0) on start browser and page with any flash swf unsure.gif (GDI.EXE) and restart (freeze system and error messages....), crash explorer. How off this features on IE/Flash?
Foxit 2.3 (3309) tested, not problem, not effect.


I don't think this is the sort of program you can pick and choose what it effects. I recommend if you want to continue using the alpha, you stick to your Firefox until then.
Philco
QUOTE (EyesOfARaven @ Jul 19 2009, 04:16 PM) *
...One way to reproduce the DIBENG crash of IE is to navigate to http://www.microangelo.us/welcomet.asp and then click "enter"..
...

You try http://web.3zscv.cz/~mliska/hodiny/clock.swf - error on IE: flashplayer for IE, not "click enter".
dibeng.dll (4.10.1998) and any files in my system (czech windows 98 SE) original - GDI.exe 4.10.2225 (system without RP).
EyesOfARaven
I played StarCraft for a few hours, all worked fine, and I started to notice REALLY wierd graphical glitches afterwards. My guess is that the program is reclaiming GDI/USER resources from explorer since it determines them to not be in use while the game is up, and then they are just magically missing cuz explorer doesn't understand that they're gone or how to put them back.

I took quite a few screenshots for you to troubleshoot with:
http://rapidshare.de/files/47895770/bitmapfailures.rar.html
supem
here are my test results

1. Spybot updater (1.62) couldn't work before GDI_HE loosing ~50% GDI resources (WATSON_sb.WLG).
With GDI Heap Extender on GDI resources increases about 5-7% and SPYBOT and its updater works loosing 26-34% GDI resources.

2. WINAMP crashes (dibeng.dll) (WATSON_wa.WLG) wacko.gif

http://rapidshare.de/files/47898582/watson.7z.html

EyesOfARaven
Played a long game of SC again and didn't have any missing bitmap issues in explorer like last time. Don't know. No other problem/issues yet.

Networking went wonky for a bit afterwards, but I think it was unrelated. Release/renew and running Opera fixed it. (Yes, running Opera helped - don't ask me why, but FF and IE didn't work after the renew until AFTER I ran Opera)

Edit: spoke a bit too soon, the 98 logo is missing from the start menu now like before. I'm going to reboot - documenting the same problem isn't going to help.

On the bright side, about 10 hours of uptime with no instability (as long as I stayed away from IE, and I did, lol)
sp193
QUOTE
QUOTE (EyesOfARaven @ Jul 19 2009, 04:16 PM) *
...One way to reproduce the DIBENG crash of IE is to navigate to http://www.microangelo.us/welcomet.asp and then click "enter"..
...

You try http://web.3zscv.cz/~mliska/hodiny/clock.swf - error on IE: flashplayer for IE, not "click enter".
dibeng.dll (4.10.1998) and any files in my system (czech windows 98 SE) original - GDI.exe 4.10.2225 (system without RP).


EDIT: It crashed firefox (Which was also open viewing another page) after I closed IE after viewing the link(Strange?). Firefox caused an error in DIBENG.DLL, and that hung my computer....
triger49
Yo Tihiy,

Just wanted to encourage you on this project......I have been toying with this for awhile now.

I am noticing reduction in resource usage in programs that are normally real resource hogs....depending on what else is running, I have one program that simultaneously opens about 20 jet databases and It can range from 2% to 5% more available resources....I really did not expect this.

Thanks for all your hard work .... welcome.gif

Jake
sparky4
the program process explorer from system internals tends to use up the rescources each time you minimize and maximize

and some times, it uses up the resources completely....

alpha 1 did not help

although Opera runs much better!

keep up the good work!
Tihiy
Okay, i've fixed crashing issues. Next alpha would be combined with RP9 (since it's not possible to hijack APIs once KernelEx is started, and asking you to disable both RP9 and kex is too much hassle).

The only thing that bothers me - no reports from DBCS 9x systems ITT.
triger49
QUOTE (Tihiy @ Jul 27 2009, 08:18 AM) *
Okay, i've fixed crashing issues. Next alpha would be combined with RP9 (since it's not possible to hijack APIs once KernelEx is started, and asking you to disable both RP9 and kex is too much hassle).

The only thing that bothers me - no reports from DBCS 9x systems ITT.



Tihiy...what about uberskin?, does it need disabled?

oops....nevermind, I mis-understood your post.... blushing.gif
eidenk
Graphic trash-up occurs regularly in Opera when running the expander. Usually affects the content of one tab only, or the content of one tab and the toolbar graphics. I am sure you are aware of it but in case you aren't give a whistle and I'll pass you some screenshots.
Tihiy
QUOTE
I am sure you are aware of it
whistling.gif
It happens when other app exits or all by itself?
mcv93us
My experience:
Install startrpx and gives me the error:

STARTRPX caused an invalid page fault in
module KERNEL32.DLL at 016f:bff7ce80.
Registers:
EAX=00000000 CS=016f EIP=bff7ce80 EFLGS=00010202
EBX=8171b3b0 SS=0177 ESP=0063faac EBP=0063fabc
ECX=ce3667a0 DS=0177 ESI=0000002c FS=28f7
EDX=00000000 ES=0177 EDI=0000000b GS=0000
Bytes at CS:EIP:
66 ff 40 02 c2 04 00 ff 74 24 04 6a 00 ff 35 04
Stack dump:
bff7daef 00000000 8171b3a0 0000002c 0063fae4 bff95a6a 8171b448 0000002c 00000000 00000000 8269f228 bfb7984a 0063fd10 00000000 0063fd90 004018f7

I use Win98SE, SP3.0b3, 98se2me.
I had previously uninstalled RP9.

My DLL version:
kernel32.dll v.4.10.2226
gdi32.dll 4.90.3003

Thanks for all your hard work!
Bye.

Mcv'93




slhk
QUOTE (Tihiy @ Jul 27 2009, 08:18 PM) *
The only thing that bothers me - no reports from DBCS 9x systems ITT.

Confirm Alpha 1 loaded in Simplified and Traditional Chinese Win98SE (with KernelEX 4.0 Final). Opera resource usage was improved. There were crashes with IE
eidenk
QUOTE (Tihiy @ Jul 27 2009, 08:33 AM) *
QUOTE
I am sure you are aware of it
whistling.gif
It happens when other app exits or all by itself?

Haha, interesting question. All by itself I would say but I may have closed apps before it happens. I'll try to browse the web without closing any app and will tell you if it still does occur in those conditions. Screenie in the meantime :



Generally I can get rid of toolbar graphics corruption by switching briefly to another skin but I can't get rid of tab content corruption even if I close the tab and reopen the same website, only closing and reopening Opera clears it all up.
eidenk
It does not seem to happen if I do not open/close apps while it is running.
Tihiy
Alpha 2
- Restricted extender to certain APIs to fix problems (with Flash etc.)
- Hardened handle validation.

Download:
http://tihiy.ahanix.org/rpXalpha2.zip
Alpha 2 installs on top of latest RP9 (RP9.1.0) and replaces existing RP9 "GDI Salvation" techologies.
Extract zip somewhere, right-click on .inf file and select "Install".

You can turn GDI Heap Extender on/off from RPConfig (it replaces GDI Salvation technologies).
Plus, this RP9 build fixes sudden-32-bit-icon-loss which turns to happen in out-of-ram situations.
(.vxd is required for this purpose)
This build has ClearType cut off.

Bear in mind - Alpha!
Uninstall with RP9 or by installing RP9 back on top.

In this build, i'm hunting for:
- Erroneous cleanup on program exit;
- Sudden locks/glitches/shutdown problems.
eidenk
Seems to play nice so far cool.gif
slhk
QUOTE (Tihiy @ Jul 28 2009, 04:09 AM) *
Alpha 2
You can turn GDI Heap Extender on/off from RPConfig (it replaces GDI Salvation technologies).

This build has ClearType cut off.

Alpha 2 runs on my Chinese Win98SE. Flash 10 is okay. No crash with IE. However after closing IE the Start button is corrupted. The bottom icons of "Wallpapers" in RPConfig disappeared. They re-appeared after closing and re-opening RPConfig

RPConfig shows version 9.1.1, but "Use ClearType" and "Disable GDI resource salvation" are still there. There is no option for "GDI Heap Extender". Is this normal?
Tihiy
QUOTE
However after closing IE the Start button is corrupted.
Well, seems cleanup on exit is buggy... Too bad I almost never catch this.
QUOTE
Is this normal?
Sure it is. GDI Salvation == GDI Heap Extender now.
lama
smile.gif
eidenk
QUOTE (eidenk @ Jul 27 2009, 05:31 PM) *
Seems to play nice so far cool.gif

I did not install it properly biggrin.gif

After proper install, here are some issues I experience :

Icons not visible in Becy IconGrabber.

http://www.becyhome.de/download/BeCyIGrab230Eng.exe

In Explorer, icons with 2 or 16 colours are displayed instead of the proper color depth when executables contain them.

Corrupted systray icons.

Corrupted 7-Zip toolbar icons.

Gimp 2.4.7 and 2.6.6 crash on launch in gdi.exe.

Graphic trashup in Opera may still occur.
mcv93us
I installed the version Alpha2 smoothly.
Confirm corruption Start button and shutdown problem.
My initial resources:
USER 86%
GDI 94%
SYSTEM 89%
RAM 57%

After 10 minutes of use Mirc 6.34:
USER 81%
GDI 93%
SYSTEM 87%
RAM 44%
and Start button corrupted wacko.gif .

My PC:
P800Mhz, 128Mb ram, HD 25Gb.
Good job welcome.gif .

Mcv'93
slhk
"White Screen Of Death" upon shutdown - "Windows: A fatal exception 0D has occurred at 0167:BFF72911"

It is reproducible. Disappeared after Heap Extender is disabled
eidenk
The corruption of systray and 7-Zip toolbars icons is gone since I also installed the RP9 updates with the patched dibeng.

Graphic trashup in Opera always occurs shortly after I close my email client, an old version of Thunberbird (0.7).

The problem with some icons being displayed at the wrong color depth in explorer (lower than it should) occurs only when 32-bit mode is selected in RP9 config.

I've also tried to run Gimp 2.4.3 and it also crashes in gdi.exe whereas GimPhoto which is a customized and skinned version of Gimp 2.4.3 does not crash.

I still have the problem with no content being displayed in Becy IconGrabber.

Other than that zero incidence on system stability and nice little boost for both free GDI and User resources.

Perhaps I will manage to test the shutdown if I don't forget not to shut down the computer with the power button as I always do. welcome.gif

Philco
With GDI Extended (alfa and alfa2) and run Firefox 3.5:
Visual error on Microsoft Outlook Express - icons. (Black background).
cscherme
This seems to be working well so far. thumbup.gif

The only problem I have is the start button. While using RP9, it seems to get corrupted after closing IE6, or by changing the RP9 skin and wallpaper.
Tihiy
Alpha 3
- Fixed problem with restoring DC not updating data (Gimp crash);
- Rewritten cleanup to work properly (not deleting wrong bitmaps).

Download:
http://tihiy.ahanix.org/rpXalpha3.zip
Alpha 3 installs on top of latest RP9 (RP9.1.0) and replaces existing RP9 "GDI Salvation" techologies.
Extract zip somewhere, right-click on .inf file and select "Install".

You can turn GDI Heap Extender on/off from RPConfig (it replaces GDI Salvation technologies).
Plus, this RP9 build fixes sudden-32-bit-icon-loss which turns to happen in out-of-ram situations.
...
[only rp10.dll was changed since alpha 2]

Uninstall with RP9 or by installing RP9 back on top.

In this build, i'm hunting for:
- Locks/glitches. Test it well! I hope next alpha to be last one.
To ensure GDI_HX is the source of problems, disable 32-bit icons / delete comctlv8.dll

There are known possible system shutdown problems.
Chozo4
Tried alpha 3 a few minutes ago. Upon restart and continuing my usual routine (load winamp, load trillian, open up Firefox, etc), I started encountering crashes in basically everything involving a GPF in gdi.exe (unintialized variable). Attached are some of the watson logs from the recorded crashes.
supem
WIN98SE+kERNELEX4+rpXalpha3
gdi.exe 4.10.2227

1. WINAMP 5.2
2. SPYBOT 1.62
3. K-MELEON 1.53
4. MAILWASHER 6.51
5. FLASHGET 1.96
and some others

All these work simultaneously without any problems
no glitches with START MENU button thumbup.gif
slhk
Simplified Chinese Win98SE + KernelEx 4.0 Final + rpXalpha3

- No corrupted Start button so far

- Resource leak in Outlook Express 6 once. Unsure if it was related to Alpha 3

- "White Screen Of Death" when shutdown. Pressed any key changed the screen to "this application cannot be run in a window ...". Pressed any key two more times reboot the system
eidenk
Graphic trashup in Opera : Gone.

Gimp 2.4 series crash on launch : Fixed.

Gimp 2.6.6 crash on launch : Still there albeit not in gdi.exe anymore and it is the GDI heap expander that appears to be the responsable. Other RP components don't seem to affect that.
Tihiy
Alpha 4
- Fixed <theoretical> problem with restoring DC corrupting GDI (Chozo4?);
- Fixed improper handle validation code causing crash in thunk (Gimp 2.6).

Download:
http://tihiy.ahanix.org/rpXalpha4.zip
Alpha 4 installs on top of latest RP9 (RP9.1.0) and replaces existing RP9 "GDI Salvation" techologies.
Extract zip somewhere, right-click on .inf file and select "Install".

You can turn GDI Heap Extender on/off from RPConfig (it replaces GDI Salvation technologies).
...
[only rp10.dll was changed since alpha 2]

Uninstall with RP9 or by installing RP9 back on top.

In this build, i'm hunting for:
- Locks/glitches. Test it well! I hope this build can be called "stable".
To ensure GDI_HX is the source of problems, disable 32-bit icons / delete comctlv8.dll

There are known possible system shutdown problems.
Tihiy
Meanwhile, i've compiled version which expands heap for all bitmap types and that made GDI heap JUGGERNAUT.
If Alpha 4 will be OK, expect Beta 0 which will make pain in your fingers trying to leak all resources by minimizing / maximizing Process Explorer. thumbup.gif
eidenk
All good here Tihiy. Bring on the beta thumbup.gif
Chozo4
Ugh, still the same issue here Tihiy. sad.gif

I found the source (in my case) however. Opening winamp then closing (v2.95 or 5.54, regardless of version) even without plugins causes the crash for other applications thereafter. Using notepad or other interaction with certain applications produce the issue. Ignoring the 16-bit (white box) errors with notepad causes a final failure in user.exe.

Alpha2 from what it seems does not exhibit this issue.

What p***es me off though is I cannot replicate this in my Win98-VM but can on the host. Perhaps a GDI issue related to Nvidia Cards/Drivers? I tried different driver versions and even tried differing versions of GDI.exe and GDI32.dll to no avail.




Google Internet Forums Unattended CD/DVD Guide

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.