News:

 

Topic: Build mar-12-13 start up time: 600% increase.  (Read 15057 times)

0 Members and 4 Guests are viewing this topic.

  • No avatar
  • Posts: 2103
  • Polygon
March 13, 2013, 02:21:22 pm
Hello,

Although I have not had time to check, but probably due to your adding of "Portable settings feature", the start/exit time of NVIL as increased considerably.
Normally(previous version), start time of NVIL was approx 10 seconds on my setup. That is now approx 70 seconds, an increase of 600% Closing down of NVIL (when nothing changed in scene/nothing to be saved) now appears to be unresponsive for approx 15 seconds (was immediate before).

I thought NVIL start up was slow before, but now, it is far too slow for my liking. Plus, the searching of my external removable backup drives (for any reason) is not acceptable.

I will not be using this new version, or any other that behaves this way.


  • Posts: 496
  • Triangle
March 13, 2013, 02:39:07 pm
Not on my end. It only takes a few seconds, closing takes like 2 seconds.

  • No avatar
  • Posts: 2103
  • Polygon
March 13, 2013, 02:48:54 pm
Even with a new config and all external drives removed, still same issue. (but only in this latest build)

I would need to monitor NVIL start up/exit to see what is happening, but do not currently have the time/patience for that.

  • Posts: 546
  • Administrator
  • Polygon
March 13, 2013, 04:34:43 pm
opens in under 2 seconds for me.

  • No avatar
  • Posts: 2103
  • Polygon
March 13, 2013, 04:54:09 pm
Well, something as changed in the new build to cause this issue on my setup. I know it took a while to load before, due to all the .net crap it loads, but now, far too long.

I was going to try on a default windows installation, but do not see the point. My setup as not changed, NVIL as.

.
« Last Edit: March 13, 2013, 05:09:12 pm by steve »

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
March 13, 2013, 06:53:33 pm
Steve, What is the time for the Mar 11 built. It was before the portable feature was added.

  • No avatar
  • Posts: 2103
  • Polygon
March 13, 2013, 07:01:17 pm
Hi IStonia,

That build is OK, the same as previous.

One thing I have noticed, is that when NVIL(latest build) loads, it appears to stop (no file/reg activity) for periods of about 4-5 seconds repeatedly(CPU drops to zero) then continues to load. I thought at first it was trying to scan attached HD or access Internet, but do not see that in logs.
So I am not sure what the problem is, or why only I am seeing the problem.
I also tried with new config and removing NVILs reg entries, but still the same problem.

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
March 13, 2013, 07:43:06 pm
There could be plug-in device cause that. Maybe a scanner or printer. I will add an default off option for this.

  • Posts: 546
  • Administrator
  • Polygon
March 13, 2013, 08:50:15 pm
would perhaps a better way of doing portable settings would be have NVIL take launch arguments, where a absolute or relative path could be defined to the settings?

see a few advantages of this.

First of all it would stop NVil from having to search for the settings, which im sure on a system like my would be a lot of work since i got 3 internal drives and 4 external drives.

Second of all it would allow people to switch settings simply by running NVil with a different shortcut, that has different arguments with in it.

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
March 13, 2013, 09:35:28 pm
Passerby, that way may cause confusing. Since the settings on PC and the portable folder can be different, so it's better for people to do it in the way they have chosen all the time.

  • No avatar
  • Posts: 2103
  • Polygon
March 14, 2013, 12:53:54 am
There could be plug-in device cause that. Maybe a scanner or printer.

No scanner or printer attached. I even went into the computer and physically unplugged the 2nd HD to check if that was a problem.

The thing is, why should we even be wondering if a scanner of printer being plugged into the PC could cause NVIL to load/exit soo slow? That to me is a problem in itself.
If someone sees an application, such as NVIL, scanning the external HD/usb drives, at best it will be classed as intrusive, as worst classed as malware. Even some HIPs/malware scanners I have used would intercept that behavior and flag or quarantine NVIL

  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
March 14, 2013, 02:50:36 am
It seems the only possible thing is that the retrieving directory info operation is time consuming in your system.

  • No avatar
  • Posts: 2103
  • Polygon
March 14, 2013, 03:25:52 am
As I mentioned above, I removed all external drives, even removed a 2nd internal drive. All that was left was the main C: drive. Are you putting forward that NVIL will also attempt to retrieve full directory info from my main OS drive? I thought the implementation was for it to check external attached drives? That in itself can be an issue if I have one of my main external backup drives attached, which contains many thousands of directories (many years of file backups/projects etc).



  • No avatar
  • Posts: 3760
  • Developer
  • Administrator
  • Polygon
March 14, 2013, 05:06:59 am
Here is the full code


                if (PortableUserSettingFolderEnabled)
                {
                    ArrayList dirs = new ArrayList();

                    DriveInfo[] driveInfos = DriveInfo.GetDrives();
                    foreach (DriveInfo drive in driveInfos)
                    {
                        if (drive.DriveType == DriveType.Removable && drive.IsReady)
                        {
                            if (drive.RootDirectory == null)
                                continue;

                            dirs.Add(drive.RootDirectory);
                        }
                    }

                    int level = 0;
                    while (dirs.Count > 0)
                    {
                        ArrayList dirsNew = new ArrayList();

                        foreach (DirectoryInfo di in dirs)
                        {
                            DirectoryInfo[] dirsTemp = di.GetDirectories();
                            foreach (DirectoryInfo diTemp in dirsTemp)
                            {
                                if (diTemp.Name == "NVil Portable User Settings")
                                    return diTemp.FullName;

                                dirsNew.Add(diTemp);
                            }
                        }

                        dirs = dirsNew;

                        level++;
                        if (level > 5)
                            break;
                    }
                }

As you can see, the 'PortableUserSettingFolderEnabled' is added and by default it is off. So you don't have to worry about it from the next update if you will never turn it on.

I guess the first operation
DriveInfo[] driveInfos = DriveInfo.GetDrives();
takes quite some time in your system even if you don't have any external devices attached.


  • No avatar
  • Posts: 2103
  • Polygon
March 14, 2013, 05:40:30 am
I guess the first operation
DriveInfo[] driveInfos = DriveInfo.GetDrives();
takes quite some time in your system even if you don't have any external devices attached.

I do not see how, as that is only retrieving the logical drive names.
I will see if I can find time to monitor .net during NVIL startup.