Jump to content

The 16bit heaps expander thread


Recommended Posts

I'm pleased to announce that future Revolutions Pack 9 version will include technology which will greatly reduce USER resource usage in common scenarios. After your reports and my research i found a big hole in USER heap which i'm able to plug.

Hole I found is in the design of list and combo box controls built in USER subsystem which consume a lot of space in 64K heap. The issue is so bad that any application that uses list/combo boxes makes easily noticeable impact. Less than 300 combobox windows can be created on pure system (while global windows limit should be 16000).

To solve this issue, combo and list boxes had to be completely rewritten. That was hard task (on which i worked on for long time), but it's near finishing. 'Beta' version is kinda ready, but there are known compatibility problems and RP9 re-architecting tasks to be done.

Test numbers:

My unscientific 'Load 3 ImgBurn copies' test shows 65% USER free up from 39%.

If you're interested in your scenario, i'm ready to test it.

Link to comment
Share on other sites


I'm pleased to announce that future Revolutions Pack 9 version will include technology which will greatly reduce USER resource usage in common scenarios. After your reports and my research i found a big hole in USER heap which i'm able to plug.

Is it the "long-secret feature" you mentioned in the RP9 thread?

Will it benefit all programs or just certain kind of programs?

Edited by slhk
Link to comment
Share on other sites

Is it the "long-secret feature" you mentioned in the RP9 thread?
Yes. :rolleyes:
Will it benefit all programs or just certain kind of programs?
Most GUI programs.
Link to comment
Share on other sites

How about web browsers?
IE - based ones, for sure. Unlikely for others. Is there browsing scenario which eats a lot of USER (except opening lots and lots of pages)?
Link to comment
Share on other sites

How about web browsers?
IE - based ones, for sure. Unlikely for others. Is there browsing scenario which eats a lot of USER (except opening lots and lots of pages)?

Firefox3 crashed easily after browsing alibaba.com for a while

Shall try IE when your new technology is launched, though I still prefer to use non-IE based browser

Link to comment
Share on other sites

I'm pleased to announce that future Revolutions Pack 9 version will include technology which will greatly reduce USER resource usage in common scenarios. After your reports and my research i found a big hole in USER heap which i'm able to plug.
Way to go, Tihiy! :thumbup I shall test it as soon as you release it! :yes:
Link to comment
Share on other sites

Hi, as i mentioned to dencorso by PM some time ago, I could not install RP9 properly because it turned out my registry was damaged since a couple of months.

Since this has been repaired I have now been using minimal install of RP9 since a few weeks and it seems stable enough here. There seem to be a little benefit with the resource usage but they end up getting depleted anyway. Perhaps your new fix will make this better.

Anyway, the point of this post is asking you tihiy whether there is a possibility you could release this resource optimizer as a standalone dll who could be installed without installing the rest of RP9.

I am guessing you got into doing such an optimizer to offset the cost of RP9 in resources and I am imagining that if RP9 wasn't there along the optimizer I would see an increase in free resource on fresh boot of perhaps 10% instead of 1 or 2%.

Link to comment
Share on other sites

How about web browsers?
IE - based ones, for sure. Unlikely for others. Is there browsing scenario which eats a lot of USER (except opening lots and lots of pages)?

SlimBrowser eats about 30-40% of resources, sometimes more. It does release most of them (save for 2-3% maybe) but only on exit, not on page close.

I could test your "baby" here since SB is open about all the time.

Link to comment
Share on other sites

eidenk, unless you use window skin, there is no differences in resource usage - since i know how to not use resources. You may want to cut RP9.1 into bare-bone by using only RP8.dll (deleting shl8.dll, uberhack.exe), but note, i'm about to change component dependencies.

Link to comment
Share on other sites

Thanks for the headup Tihiy. I was only wondering because I saw all the stuff there is in the ctrl-alt-del panel, the quite big bitmap notably, but if you say it's all optimized, no worries. I'll try without the other dlls and see how it fares. Looking forward trying the new RP9 with the new User optimizations.

Link to comment
Share on other sites

So is it worth it? Tell me scenarios you lack resources in.

May be its a bit too late for this but I tell you my two scenarios.

The first one is with SolSuite 2008. It is still compatible with Windows 98 (and 2009 also), but it eats VERY many GDI resources, more than 30% - 35 or even 50, though it releases them when closed. And I often browse with firefox and playing SolSuite simultaneously, because with my dial-up and disconnects every 2 minutes browsing is for patient people :). And I sometimes lack GDI resources.

The other scenario is playing Worms 2 portable. The game eats more GDI resources each time I start new match and does not release them, even after closing it, even with your RP 9.1. So if I try to play more than 3 - 4 matches without rebooting Windows crashes.

Couple of times I also had to press reset due to insufficient USER resources, even your kernel task manager was unable to help, but I cannot give you typical scenario. It seems that it was long uptime, active browsing with firefox and/or Opera.

My Evolve screensaver also eats 1-3 % of resources each time it works and does not release them, but it is not so big loss. Other apps behave well and release their resources, may be because of your RP.

Link to comment
Share on other sites

In posts #2, 3 and 4 I had reproduced, as quotations, the now lost, original resources thread, from what I had saved myself. All posts between Oct 19 2007 and Nov 20 2007 were then lost. Now, thanks to RetroOS, who sent me a copy of the part I was missing, I have been able to complete the recovery of the original thread. :w00t: So, now, the quoted thread in posts #2, 3 and 4 is complete. Thanks a whole lot, RetroOS! You do rock! :thumbup

Link to comment
Share on other sites

  • 2 weeks later...

Not fair to spoil exectations, but i'm here again with some news.

New USER salvation is delayed due to my work on KernelEx 4 (finally) as well as other busy things.

The news, i've figured out how to theoretically implement GDI heap expander without breaking compatibility, performance and memory usage. This includes a lot of things to hax: global memory manager, local heap handle manager and GDI insides, but seems possible unless I bump into hard compatibility problems.

But theoretically, it can be very-very promising; i won't spoil numbers.

Or did rloew already implemented one?

Link to comment
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.
×
×
  • Create New...