Speed up boot times

Users and developers helping users with technical Pale Moon issues. Please direct questions about the Linux version to the appropriate Linux board.

Moderator: Indalecio

Forum rules
This board is for technical/usage questions and troubleshooting for the Pale Moon browser only.
Technical issues and questions not related to the Pale Moon browser should be posted in "technical chat"
Please keep off-topic and general discussion out of this board, thank you!

Re: Speed up boot times

Postby megaman » Mon Jan 27, 2014 1:05 am

Yes, it seems to have come down to it all, one dependency after another on my end.
Now, I require "MSVCR120D.dll".
Curiosity leads to a world of experiments.
User avatar
megaman
Lunar Warrior
Lunar Warrior
 
Posts: 1137
Joined: Tue Aug 30, 2011 4:40 pm
Location: H-town

Re: Speed up boot times

Postby link68759 » Mon Jan 27, 2014 1:17 am

Lol ok, hold on while I try to compile a release version and see if that stops the insanity.

I can't for the life of me figure out why "release" outputs a dll instead of an exe...

Uploaded that msvcr120d.dll

There is a tool called "dependency walker" that will list all dlls you need for a given program, and tell you which are missing.
-----------------------------------------------------
edit1
I managed to compile the release version (now uploaded), though I don't know if that will have any difference. Someone told me the way to get all the dlls packaged into one exe is to use the /MT flag in the linker, but it's not playing nice with MFC.

---------------------------------------------------
edit2

Seems I've run up against a bug in visual studio, as far as removing the dll dependencies. I think only mfc120u.dll msvcr120.dll and regclassu.dll are necessary now.
Last edited by link68759 on Mon Jan 27, 2014 4:22 am, edited 1 time in total.
link68759
Moon lover
Moon lover
 
Posts: 81
Joined: Thu Mar 15, 2012 1:38 am
Location: US

Re: Speed up boot times

Postby megaman » Mon Jan 27, 2014 4:09 am

Took a snooze, but tried the program.
The other remaining dependencies are as follows:
[ ? ] MSVCR120D.DLL Error opening file. The system cannot find the file specified (2).
[D? ] API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL Error opening file. The system cannot find the file specified (2).
[D? ] API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL Error opening file. The system cannot find the file specified (2).
[D? ] API-MS-WIN-CORE-WINRT-L1-1-0.DLL Error opening file. The system cannot find the file specified (2).
[D? ] API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL Error opening file. The system cannot find the file specified (2).
[D? ] API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL Error opening file. The system cannot find the file specified (2).
[D? ] API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL Error opening file. The system cannot find the file specified (2).
[D? ] DCOMP.DLL Error opening file. The system cannot find the file specified (2).
[D? ] IESHIMS.DLL Error opening file. The system cannot find the file specified (2)

Uploading the full txt. file generated as a report.

Edit: Everything mentioned above is stated before I applied MSVCR120D.dll, but after placing the MSVCR120D.dll, the program started. Yet, the log still shows those other things needed as dependencies.

Edit 2: I can confirm this. I use the 64-bit version of Palemoon, and when the program is running I see windows popping-up non-stop. Palemoon loads-up in a blink of an eye, just how I wanted it from the beginning, nice work.

Edit 3: The non-stop pop-ups happened because I forced-closed the Pre-loader and opened while I had the browser running, I guess. Attempting to reproduce the error...Will report soon.

Edit 4: As you have mentioned, it does happen because I had the browser open and launched the pre-loader afterward, lesson learned.
Attachments
PalemoonPreloader.txt
(213.38 KiB) Downloaded 16 times
Curiosity leads to a world of experiments.
User avatar
megaman
Lunar Warrior
Lunar Warrior
 
Posts: 1137
Joined: Tue Aug 30, 2011 4:40 pm
Location: H-town

Re: Speed up boot times

Postby link68759 » Mon Jan 27, 2014 4:25 am

IESHIMS and a few other things are always missing, never quite figured out why.

OK, I think you have an older build. I updated it to not need the d[ebug] dlls. Download everything again, to a different folder in case it doesn't work. I want to know if it doesn't work though.

After this I just have to figure out how to change the about dialog properties. It's hiding from me....
link68759
Moon lover
Moon lover
 
Posts: 81
Joined: Thu Mar 15, 2012 1:38 am
Location: US

Re: Speed up boot times

Postby megaman » Mon Jan 27, 2014 4:30 am

link68759 wrote:OK, I think you have an older build. I updated it to not need the d[ebug] dlls. Download everything again, to a different folder in case it doesn't work. I want to know if it doesn't work though.

Success! It still requires the Regclass .dll but it opens without needing any other .dll. It also works as it did while I was testing it, less than 10 minutes but still time taken for the program.
Curiosity leads to a world of experiments.
User avatar
megaman
Lunar Warrior
Lunar Warrior
 
Posts: 1137
Joined: Tue Aug 30, 2011 4:40 pm
Location: H-town

Re: Speed up boot times

Postby link68759 » Mon Jan 27, 2014 4:36 am

megaman wrote:
link68759 wrote:OK, I think you have an older build. I updated it to not need the d[ebug] dlls. Download everything again, to a different folder in case it doesn't work. I want to know if it doesn't work though.

Success! it still requires the Regclass .dll but it opens without needing any other .dll. It also works as it did while I was testing it, less than 10 minutes but still time taken for the program.


If it opened without needing the mfc120 and msvcr, (it will always need the regclassu.dll, the firefox preloader installer actually installs that for you) then that means the 2013 redist package I had you install is taking effect. So, Vs c++ 2013 x86 is still required.

The "debug" build used different dlls, though they were named the same, which is why it didn't work at first.

------------
Edit- Well, the only thing left to do is figure out how to change the about dialog, and maybe try building an x64 binary for fun.
-------------------

attaching the current latest build to this post. One more tester reports a success and I'll make a thread for it.
Attachments
Palemoon Preloader.7z
MD5: e061df11b2c6c905fe4b1c0aaa75520d
(28.89 KiB) Downloaded 23 times
link68759
Moon lover
Moon lover
 
Posts: 81
Joined: Thu Mar 15, 2012 1:38 am
Location: US

Re: Speed up boot times

Postby jumba » Mon Jan 27, 2014 2:45 pm

Really great that you had time for this! I tested it with PMx64 in windows 8.1 and it seems to be working just fine. The first launch is much quicker now so the preloading is working. As a quick testing I noticed it kept opening empty windows after restarting the browser when installing/updating add-on. I had to exit and re-open the browser. Also I think that the unloading options from the tray menu are not working, at least it doesn't close the currently opened windows or sessions as it should if I understood the tool-tip message correctly.
User avatar
jumba
Lunatic
Lunatic
 
Posts: 331
Joined: Wed Sep 21, 2011 6:15 pm
Location: under the moonlight

Re: Speed up boot times

Postby link68759 » Mon Jan 27, 2014 5:38 pm

I also had that issue at least once- a restart was processed as an exit and it kept trying to 'preload' it, when it had already started up again. The easiest way to avoid that is to not restart, just exit, but I'll see what I can do (I use restart all the time personally). No promises here though, it's a miracle I had the ability to compile it at all. Improvements are pretty far down the pipe.

As far as the unloading options not working- I'm calling that a happy accident. Why the heck should closing the preloader also force palemoon to exit? The only setback is that if you exit the preloader while palemoon is *not* running, a preloaded palemoon.exe will probably remain until the next time you start palemoon or kill it yourself. I haven't noticed any conflicts with sessions yet though, and IMO I'd rather have it this way than having it kill my opened browser should I want to close the preloader. Regardless, I'll look into it.

While trying to compile it with linking by trying to find a way to remove calls to _AFXDLL (not possible without a rewrite) noticed that I was *incredibly* fortunate that the code survived my find/replace of firefox->palemoon. Thank god VIM didn't match wordsfirefoxsurroundedbywords or I would have broke a few things. I'm guessing that the tray's unloading commands may have been one of the things butchered by me in this way, so there's my lead.

I should mention that vs2013 doesn't seem to readily let me compile for XP or lower- and even if it did, would the 2013 redist even install on XP? Either way, ASCII builds are *impossible*, because the non-unicode workspace/code are missing or corrupted or something. I'm not sure what versions of windows, if any, won't work with unicode programs, but I don't have the ability to compile ASCII at this time unless the original author has a working copy of that source.

Edit- Well, the latest regclass source doesn't have working ascii, at least. I think all that preloader uses regclass for is to check for existing firefox installations, and I can either try and remove it altogether for ascii support, or screw ascii and see if I can't get it to check the correct palemoon registry keys. I really don't know if ascii support is all that important though.
link68759
Moon lover
Moon lover
 
Posts: 81
Joined: Thu Mar 15, 2012 1:38 am
Location: US

Re: Speed up boot times

Postby Jonny5isalivetm » Mon Jan 27, 2014 7:02 pm

Power to you man!

I asked for this Donkeys ago and was met with Palemoon starts fast enough blablabla :D

Totally EPIC!

Thanks very much :)
Jonny5isalivetm
Newbie
Newbie
 
Posts: 4
Joined: Tue Jun 26, 2012 7:02 pm
Location: Belfast

Re: Speed up boot times

Postby Moonchild » Mon Jan 27, 2014 7:22 pm

Pale Moon does start fast enough. The preloader will just be for you impatient souls out there who think that a complex piece of directx-accelerated software can cold start and initialize in under a second. It will make your OS load up slower by using it, of course.
Please do not send me private messages for anything that could also be posted in the public boards.
User avatar
Moonchild
Pale Moon guru
Pale Moon guru
 
Posts: 7737
Joined: Sun Aug 28, 2011 5:27 pm
Location: Sweden

PreviousNext

Return to Community support

Who is online

Users browsing this forum: Baidu [Spider] and 13 guests