.rhp debug technique?


(Dale Fugier) #21

The information that determines whether or not a plug-in loads and when it loads is stored in the Windows Registry. So somebody ambitious could write a tool as you describe. You can also enable and disable plug-ins via scripting. Thus you could write such a tool but it would have to run in Rhino.


#22

Let’s make that : “somebody ambitious who actually knows in detail how it works now”. :smile:

Anyone? Anyone?.. Buehler???

I was having lunch with my brother (an expert CATIA user) a few hours ago and described the situation to him. That’s where I got the idea. He said CATIA has had that capability for quite a while, though it’s usually only used in special situations. He was surprised that such a wonderful application as Rhino (as I keep telling him at every opportunity) doesn’t already have it.


(Steve Baer) #23

You could write a python script to toggle the enable state for a couple plug-ins. I’m working on an OSX project today so I don’t have good access to put something like this together right now.


(Dale Fugier) #24

See if this work for you (or anyone else…).

https://github.com/mcneel/rhinoscript/blob/master/PlugInEnabler.rvb


#25

How to forbid initialize license mananger?

(0.0000) - Since Last Record = 0.0000 (%0.00) - Create Stopwatch
(0.0030) - Since Last Record = 0.0030 (%0.01) - before CRhWGLExtensions::InitWGLExtensions()
(0.7360) - Since Last Record = 0.7330 (%1.81) - after CRhWGLExtensions::InitWGLExtensions()
(0.9040) - Since Last Record = 0.1680 (%0.42) - after create and load AppSettings
(1.7310) - Since Last Record = 0.8270 (%2.05) - Pre-initialize .net
(1.8040) - Since Last Record = 0.0730 (%0.18) - Post-initialize .net
(1.8210) - Since Last Record = 0.0170 (%0.04) - before Create splash window
(1.8220) - Since Last Record = 0.0010 (%0.00) - after Create splash window
(1.9640) - Since Last Record = 0.1420 (%0.35) - after load CMainFrame
(2.0700) - Since Last Record = 0.1060 (%0.26) - after initialize license mananger
(35.7310) - Since Last Record = 33.6610 (%83.33) - after loading of cursor resources
(35.9870) - Since Last Record = 0.2560 (%0.63) - after RegisterBuiltInCommands()
(36.0630) - Since Last Record = 0.0760 (%0.19) - Pre auto load plugins
(36.5730) - Since Last Record = 0.5100 (%1.26) - Rhino Toolbars and Menus
(36.5780) - Since Last Record = 0.0050 (%0.01) - RDK:CRhRdkRhinoPlugIn CTOR
(36.5840) - Since Last Record = 0.0060 (%0.01) - RDK:OnLoadPlugIn
(36.5840) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after storage
(36.6050) - Since Last Record = 0.0210 (%0.05) - RDK:Initialize: after factories
(36.6050) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after conduits
(36.6050) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: after default properties
(36.6050) - Since Last Record = 0.0000 (%0.00) - RDK:Initialize: end
(36.6050) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn: after RDK Initialize
(36.6050) - Since Last Record = 0.0000 (%0.00) - RDK:OnLoadPlugIn: after RDK OnLoadRhinoPlugIn
(36.6180) - Since Last Record = 0.0130 (%0.03) - RDK:OnLoadPlugIn - end
(37.0600) - Since Last Record = 0.4420 (%1.09) - Renderer Development Kit
(37.3940) - Since Last Record = 0.3340 (%0.83) - PanelingTools
(37.6470) - Since Last Record = 0.2530 (%0.63) - RhinoScript
(37.8000) - Since Last Record = 0.1530 (%0.38) - 3Dconnexion 3D Mouse
(37.8000) - Since Last Record = 0.0000 (%0.00) - Post auto load plugins
(38.0090) - Since Last Record = 0.2090 (%0.52) - WebBrowser
(38.0960) - Since Last Record = 0.0870 (%0.22) - after create TabbedDockBarCollection
(38.1660) - Since Last Record = 0.0700 (%0.17) - after RestoreDockBarPositionAndStates
(38.4100) - Since Last Record = 0.2440 (%0.60) - Rhino Render
(38.4110) - Since Last Record = 0.0010 (%0.00) - after load default render engine
(38.4280) - Since Last Record = 0.0170 (%0.04) - after CloseAllDocuments
(38.4960) - Since Last Record = 0.0680 (%0.17) - before LoadToolBarsAndRestoreDockBarPositionAndStates
(38.4960) - Since Last Record = 0.0000 (%0.00) - after CRhUiWaitWhileDockBarManagerIsSaving
(38.4970) - Since Last Record = 0.0010 (%0.00) - after RunCreateWindowsMenus
(38.5070) - Since Last Record = 0.0100 (%0.02) - Start of C# LoadToolBarFiles
(38.6580) - Since Last Record = 0.1510 (%0.37) -   - LoadToolBarFiles step 1
(39.5270) - Since Last Record = 0.8690 (%2.15) -   - LoadToolBarFiles step 2
(39.5520) - Since Last Record = 0.0250 (%0.06) - End of C# LoadToolBarFiles
(39.5520) - Since Last Record = 0.0000 (%0.00) - after  m_pCallbacks->LoadToolBarFiles
(39.5520) - Since Last Record = 0.0000 (%0.00) - after RunLoadToolbars
(39.5550) - Since Last Record = 0.0030 (%0.01) - after RunConvertToolbars
(40.0400) - Since Last Record = 0.4850 (%1.20) - after RunPostLoadToolBarsAndRestoreDockBarPositionAndStates
(40.0400) - Since Last Record = 0.0000 (%0.00) - after LoadToolBarsAndRestoreDockBarPositionAndStates
(40.1330) - Since Last Record = 0.0930 (%0.23) - before Process Shell Commands
(40.3890) - Since Last Record = 0.2560 (%0.63) - after Process Shell Commands
(40.3950) - Since Last Record = 0.0060 (%0.01) - CRhStopWatch::ShowReport()

(Steve Baer) #26

Well we sure aren’t going to let you not initialize the license manager :wink:. Besides, it looks like the bottleneck in start-up is after the license manager has been initialized.

The majority of time is being spent after the license manager has been initialized and after the cursors have been loaded. There are a large number of steps that happen between these stopwatch messages and it is pretty hard to figure out with the current code exactly where start up is taking longer than it should.

I only mentioned the stopwatch flag since it helps to figure out if there are any particular plug-ins that are slowing down the starting of Rhino.