Slow Startup

Rhino 7 (7.20.22165.13001, 2022-06-14) in Win 10; the splash screen stays up over 60 sec saying Rhino is Starting…

I don’t have any weird plugins enabled.

Is there a way to get more info on what exactly Rhino is waiting for while loading?

I have a suspicion it has something to do with physically moving this machine from one network to another and then back again.

Thanks,

Eric

Does starting in Safe Mode go faster?
If so, as a test, I’d disable all of the plug-ins that didn’t ship with Rhino, if for no other reason than to rule them out.

I do sort of half recall that there was a problem when Rhino was looking at mapped network drives that no longer existed. I haven’t heard of it for a long time.

Hi John,

1m 09s in safe mode, so no better I’m afraid.

Eric

Maybe a SystemInfo report would provide some ideas.

To be clear, we are talking about starting Rhino using a Desktop Shortcut, not using Windows file association?

When I start V7 on my Desktop using the Shortcut, I have a Command prompt in about 10 seconds.

Shortcut/file association both have same results.

Rhino 7 SR20 2022-6-14 (Rhino 7, 7.20.22165.13001, Git hash:master @ 791285d0b70d4a1627313cfc9d0e6e8bd9acc6d4)
License type: Commercial, build 2022-06-14
License details: Cloud Zoo

Windows 10 (10.0.19044 SR0.0) or greater (Physical RAM: 32Gb)

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA Quadro M4000 (NVidia) Memory: 8GB, Driver date: 5-23-2022 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 516.25
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 5-23-2022
Driver Version: 31.0.15.1625
Maximum Texture size: 16384 x 16384
Z-Buffer depth: 24 bits
Maximum Viewport size: 16384 x 16384
Total Video Memory: 8 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp “Commands” 7.20.22165.13001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 7.20.22165.13001
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 7.20.22165.13001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp “RhinoCycles” 7.20.22165.13001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 7.20.22165.13001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp “Displacement”

All that looks great.

Are you storing your files locally?
If they are on a cloud or in network storage, then maybe try this:
In Rhino Options > Advanced, set the following to True,
Rhino.Options.FileSettings.WriteLocalTempFileWhenSaving

Any difference?

Maybe @stevebaer will have an idea why it’s so slow.

There is a
-stopwatch
start flag that you can use to launch Rhino and have it print a log of times to the command history window. Try that and paste the results here. We can see if there is anything suspicious.

That’s a new startup command line switch on me.

No difference with the FileSettings… set to True

-stopwatch results:

Blocking plug-in SimLab PDF Exporter.
(0.0000) - Since Last Record = 0.0000 (%0.00) - Create Stopwatch
(0.0170) - Since Last Record = 0.0170 (%0.02) - Pre-initialize .net
(0.3360) - Since Last Record = 0.3190 (%0.47) - Post-initialize .net
(0.5740) - Since Last Record = 0.2380 (%0.35) - after create and load AppSettings
(0.5750) - Since Last Record = 0.0010 (%0.00) - before CRhWGLExtensions::InitWGLExtensions()
(0.7220) - Since Last Record = 0.1470 (%0.22) - after CRhWGLExtensions::InitWGLExtensions()
(0.7300) - Since Last Record = 0.0080 (%0.01) - before Create splash window
(0.7300) - Since Last Record = 0.0000 (%0.00) - after Create splash window
(0.7330) - Since Last Record = 0.0030 (%0.00) - construct CMainFrame
(0.8840) - Since Last Record = 0.1510 (%0.22) - after load CMainFrame
(1.6030) - Since Last Record = 0.7190 (%1.05) - after initialize license manager
(1.8640) - Since Last Record = 0.2610 (%0.38) - after loading of cursor resources
(1.8720) - Since Last Record = 0.0080 (%0.01) - after RegisterBuiltInCommands()
(66.2220) - Since Last Record = 64.3500 (%94.21) - Pre auto load plugins
(66.2720) - Since Last Record = 0.0500 (%0.07) - Toolbars
(66.2750) - Since Last Record = 0.0030 (%0.00) - RDK:CRhRdkRhinoPlugIn CTOR
(66.2760) - Since Last Record = 0.0010 (%0.00) - RDK:OnLoadPlugIn
(66.2930) - Since Last Record = 0.0170 (%0.02) - RDK:Initialize: start
(66.2930) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after default registered properties
(66.3040) - Since Last Record = 0.0110 (%0.02) - RDK:Initialize: after default post effect plug-in factories
(66.3040) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after adding internal extensions
(66.3040) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after conduits
(66.3210) - Since Last Record = 0.0170 (%0.02) - RDK:Initialize: end
(66.3210) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn: after RDK Initialize
(66.3210) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn: after RDK OnLoadRhinoPlugIn
(66.3210) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn - end
(66.3570) - Since Last Record = 0.0360 (%0.05) - Renderer Development Kit
(66.5400) - Since Last Record = 0.1830 (%0.27) - Commands
(66.5470) - Since Last Record = 0.0070 (%0.01) - Snapshots
(66.5560) - Since Last Record = 0.0090 (%0.01) - Rhino Render
(66.6350) - Since Last Record = 0.0790 (%0.12) - RDK_EtoUI
(66.6420) - Since Last Record = 0.0070 (%0.01) - Renderer Development Kit UI
(66.7720) - Since Last Record = 0.1300 (%0.19) - RhinoCycles
(66.7810) - Since Last Record = 0.0090 (%0.01) - 3Dconnexion 3D Mouse
(66.7870) - Since Last Record = 0.0060 (%0.01) - Displacement
(66.8210) - Since Last Record = 0.0340 (%0.05) - after create TabbedDockBarCollection
(66.8220) - Since Last Record = 0.0010 (%0.00) - after load default render engine
(66.8250) - Since Last Record = 0.0030 (%0.00) - after CloseAllDocuments
(66.8570) - Since Last Record = 0.0320 (%0.05) - before LoadToolBarsAndRestoreDockBarPositionAndStates
(66.8590) - Since Last Record = 0.0020 (%0.00) - Start of C# LoadToolBarFiles
(66.9210) - Since Last Record = 0.0620 (%0.09) - - LoadToolBarFiles step 1
(66.9220) - Since Last Record = 0.0010 (%0.00) - - Start TryLoadRuiFile: C:\Users\Eric Jolley\AppData\Roaming\McNeel\Rhinoceros\7.0\UI\default.rui
(67.5960) - Since Last Record = 0.6740 (%0.99) - - END TryLoadRuiFile
(67.5960) - Since Last Record = 0.0000 (%0.00) - - LoadToolBarFiles step 2
(67.6250) - Since Last Record = 0.0290 (%0.04) - End of C# LoadToolBarFiles
(67.6250) - Since Last Record = 0.0000 (%0.00) - after m_pCallbacks->LoadToolBarFiles
(67.6250) - Since Last Record = 0.0000 (%0.00) - after RunLoadToolbars
(67.8520) - Since Last Record = 0.2270 (%0.33) - after RunPostLoadToolBarsAndRestoreDockBarPositionAndStates
(67.8520) - Since Last Record = 0.0000 (%0.00) - after LoadToolBarsAndRestoreDockBarPositionAndStates
(67.9120) - Since Last Record = 0.0600 (%0.09) - before Process Shell Commands
(68.2930) - Since Last Record = 0.3810 (%0.56) - after Process Shell Commands
(68.3040) - Since Last Record = 0.0110 (%0.02) - CRhStopWatch::ShowReport()
Command: _CommandHistory

That section of code deals with digging around in the registry to figure out the list of plug-ins that Rhino has available. I’m not sure why this is taking so long, but at least we have a clue as to where to look further.

1 Like

I suspected some crufty registry thing- i have run CCleaner but no joy.

Eric

You could try running regedit and finding the following entry
Computer\HKEY_CURRENT_USER\Software\McNeel\Rhinoceros\7.0

Rename 7.0 to something like temp and then start Rhino.

Hi Steve,

That seems to do the trick. Any idea what’s in that reg entry it might be getting hung up on?

Thanks,
Eric

I spoke too soon. Rhino now loads to the splash screen immediately, which is a change, but is then stuck on the splash screen with the message “Preparing Viewports” for a long time.

Eric

Try running with -stopwatch again. Maybe we’ll get different results

(0.0000) - Since Last Record = 0.0000 (%0.00) - Create Stopwatch
(0.0180) - Since Last Record = 0.0180 (%0.40) - Pre-initialize .net
(0.3370) - Since Last Record = 0.3190 (%7.05) - Post-initialize .net
(0.5630) - Since Last Record = 0.2260 (%5.00) - after create and load AppSettings
(0.5640) - Since Last Record = 0.0010 (%0.02) - before CRhWGLExtensions::InitWGLExtensions()
(0.7540) - Since Last Record = 0.1900 (%4.20) - after CRhWGLExtensions::InitWGLExtensions()
(0.7610) - Since Last Record = 0.0070 (%0.15) - before Create splash window
(0.7620) - Since Last Record = 0.0010 (%0.02) - after Create splash window
(0.7650) - Since Last Record = 0.0030 (%0.07) - construct CMainFrame
(0.8950) - Since Last Record = 0.1300 (%2.87) - after load CMainFrame
(1.6770) - Since Last Record = 0.7820 (%17.29) - after initialize license manager
(2.3780) - Since Last Record = 0.7010 (%15.50) - after loading of cursor resources
(2.3850) - Since Last Record = 0.0070 (%0.15) - after RegisterBuiltInCommands()
(2.4120) - Since Last Record = 0.0270 (%0.60) - Pre auto load plugins
(2.4600) - Since Last Record = 0.0480 (%1.06) - Toolbars
(2.4640) - Since Last Record = 0.0040 (%0.09) - RDK:CRhRdkRhinoPlugIn CTOR
(2.4640) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn
(2.4830) - Since Last Record = 0.0190 (%0.42) - RDK:Initialize: start
(2.4830) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after default registered properties
(2.4950) - Since Last Record = 0.0120 (%0.27) - RDK:Initialize: after default post effect plug-in factories
(2.4950) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after adding internal extensions
(2.4950) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after conduits
(2.5120) - Since Last Record = 0.0170 (%0.38) - RDK:Initialize: end
(2.5120) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn: after RDK Initialize
(2.5120) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn: after RDK OnLoadRhinoPlugIn
(2.5120) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn - end
(2.5540) - Since Last Record = 0.0420 (%0.93) - Renderer Development Kit
(2.7400) - Since Last Record = 0.1860 (%4.11) - Commands
(2.7460) - Since Last Record = 0.0060 (%0.13) - Snapshots
(2.7560) - Since Last Record = 0.0100 (%0.22) - Rhino Render
(2.8370) - Since Last Record = 0.0810 (%1.79) - RDK_EtoUI
(2.8440) - Since Last Record = 0.0070 (%0.15) - Renderer Development Kit UI
(2.9800) - Since Last Record = 0.1360 (%3.01) - RhinoCycles
(2.9880) - Since Last Record = 0.0080 (%0.18) - 3Dconnexion 3D Mouse
(2.9940) - Since Last Record = 0.0060 (%0.13) - Displacement
(3.0330) - Since Last Record = 0.0390 (%0.86) - after create TabbedDockBarCollection
(3.0340) - Since Last Record = 0.0010 (%0.02) - after load default render engine
(3.0350) - Since Last Record = 0.0010 (%0.02) - after CloseAllDocuments
(3.0560) - Since Last Record = 0.0210 (%0.46) - before LoadToolBarsAndRestoreDockBarPositionAndStates
(3.0580) - Since Last Record = 0.0020 (%0.04) - Start of C# LoadToolBarFiles
(3.1100) - Since Last Record = 0.0520 (%1.15) - - LoadToolBarFiles step 1
(3.1110) - Since Last Record = 0.0010 (%0.02) - - Start TryLoadRuiFile: C:\Users\Eric Jolley\AppData\Roaming\McNeel\Rhinoceros\7.0\UI\default.rui
(3.7570) - Since Last Record = 0.6460 (%14.28) - - END TryLoadRuiFile
(3.7570) - Since Last Record = 0.0000 (%0.00) - - LoadToolBarFiles step 2
(3.7870) - Since Last Record = 0.0300 (%0.66) - End of C# LoadToolBarFiles
(3.7870) - Since Last Record = 0.0000 (%0.00) - after m_pCallbacks->LoadToolBarFiles
(3.7870) - Since Last Record = 0.0000 (%0.00) - after RunLoadToolbars
(4.0620) - Since Last Record = 0.2750 (%6.08) - after RunPostLoadToolBarsAndRestoreDockBarPositionAndStates
(4.0620) - Since Last Record = 0.0000 (%0.00) - after LoadToolBarsAndRestoreDockBarPositionAndStates
(4.1220) - Since Last Record = 0.0600 (%1.33) - before Process Shell Commands
(4.5130) - Since Last Record = 0.3910 (%8.64) - after Process Shell Commands
(4.5240) - Since Last Record = 0.0110 (%0.24) - CRhStopWatch::ShowReport()

So the strange thing is even though stopwatch reports total ellapsed time of a little over 4 seconds, the splash screen stays up with the “Preparing Viewports” message until 1:10.0

The preparing viewport stuff may happen after all of the code that the stopwatch times is done. I’ll have to check

Hi Steve,

Any insight into what’s going on during the “Preparing Viewports” period that would explain the slow loading?

thanks,
Eric

1 Like

I’m not sure. Try starting Rhino with the -nosplash flag. Does this make a difference?