Archive: nsDialogs::Create very slow


nsDialogs::Create very slow
Hello,

So, I am trying to merge one installer (I'll call this installer A) into another installer (B). B originally launched A as a part of the install process if the right component was chosen.

Now, before I merged the installers, pages in A that had nsDialogs::Create calls in them were displayed at the normal page display speed. Furthermore, Process Explorer told me it performed around only 100 writes when navigating to such a page. Installer B did not originally have pages that used nsDialogs::Create. After I merged the installers, the first time the user clicks to a page with a nsDialogs::Create call it hangs for around a minute and performs around 50000 writes. After the first time the user navigates to one of these nsDialogs::Create pages, any other page with the call are as fast as they should be. This happens even if the user revisits the first page with a nsDialogs::Create call.

I have also noticed that if I remove parts of my installer script the delay when the user first visits a nsDialogs::Create page is shortened. This is most noticeable when I remove includes to files that have about 90000 File commands which add approximately 250mb to the final installer size. Furthermore, removing the commands between nsDialogs::Create and nsDialogs::Show has no effect that I can notice in the delay.


You probably need to use ReserveFile on the plug-in DLL.

Stu


That worked.

Thank you.


the nsDialog plugin hangs while using nsExec due to some unknown reason. how do i find the same.


Post the code.

Stu