Call for attention - context handlers and validation procs
-
I think that would be a good idea.
-
I'm half finished with a plugin called "Snitch" which collates the time each plugin's Observers take so we can start pointing fingers.
Guidelines are fine, but witchhunts / naming and shaming has much better results.
-
How do you manage to track other observers?
Can it be translated into validation procs and context handlers? -
@adamb said:
Guidelines are fine, but witchhunts / naming and shaming has much better results.
Woohoo!, let the games begin. I have a feeling I'm gonna score big!!!! (I hope its good to score big
)
-
-
uh... both maybe
[flash=640,385:2c4nksvr]http://www.youtube.com/v/zrzMhU_4m-g?fs=1&hl=en_US[/flash:2c4nksvr]
-
Are the witches hunting, or are we hunting witches?-)
Don't know what the following has to do with this topic, but it seemed like the thing to do:-)
-
That's rich! The opening scene strikes a cord, it's me writing an app:-)
-
I made a little sniffer script that will log the scripts that creates context handlers. Lets one easier inspect which scripts are adding context handlers.
I found
xLine
to be processing the whole selection. I'll be looking further into what scripts have inefficient context handlers. At the moment it takes many seconds for me when I right click a large set of selected entities.(Removed - See first post)
Type
TT.list_context_handlers
to get a list of attached context handlers in the Ruby Console. -
I just updated the first post with the debug script - it now benchmarks the handlers, outputting the time they take to process to the Ruby Console.
-
Sample output for a selection of about 100K entities:
### Context Handler ### 2D#loader.rb:181:in
activate' [...] 2D#.rb:44
0.0 secondsContext Handler
bezier.rb:501 [...] bezier.rb:501
0.006 secondsContext Handler
parametric.rb:320 [...] (eval):2696
0.0 secondsContext Handler
(eval):103:in `load' [...] pb_loader.rb:9
0.0 secondsContext Handler
tt_bitmap2mesh.rb:29 [...] tt_proxy_loader.rb:28
0.0 secondsContext Handler
tt_image_opacity.rb:30 [...] tt_proxy_loader.rb:28
0.0 secondsContext Handler
ui_manager.rb:261:in `build_ui' [...] tt_selection_toys.rb:240
0.004 secondsContext Handler
xLine.rb:51 [...] xLine.rb:51
0.0 secondsContext Handler
Lib6Plugin.rb:656:in `build_config_handlers' [...] ZLoader__FredoScale.rb:24
0.0 secondsContext Handler
Lib6Plugin.rb:656:in `build_config_handlers' [...] ZLoader__OnSurface.rb:26
0.489 secondsContext Handler
(eval):299:in `initialize' [...] dynamiccomponents.rb:38
0.0 secondsContext Handler
webtextures_loader.rb:886 [...] webtextures.rb:22
0.0 secondsContext Handler
bezierspline_main.rb:2413:in
load_all_menus' [...] extensions.rb:36:in
load'
5.657 seconds`(Note I had modified xLine and Selection Toys prior to this test)
-
@thomthom said:
Sample output for a selection of about 100K entities:
Context Handler
bezierspline_main.rb:2413:in
load_all_menus' [...] extensions.rb:36:in
load'
5.657 seconds[/ruby]I fixed the one for BezierSpline, with an upgrade.
see http://forums.sketchucation.com/viewtopic.php?f=323&t=13563&p=100509#p100509Fredo
-
-
Reminds me of something simular I seem to have in big models when rightclicking a material.
The rightclick window just doesn't pop-up -
@pout said:
Reminds me of something simular I seem to have in big models when rightclicking a material.
The rightclick window just doesn't pop-upYea - I've noticed that too. Very annoying. But that menu isn't accessible to ruby plugins. So I think that one is on Google's shoulders.
-
@unknownuser said:
@thomthom said:
Sample output for a selection of about 100K entities:
Context Handler
bezierspline_main.rb:2413:in
load_all_menus' [...] extensions.rb:36:in
load'
5.657 seconds[/ruby]I fixed the one for BezierSpline, with an upgrade.
see http://forums.sketchucation.com/viewtopic.php?f=323&t=13563&p=100509#p100509Fredo
Bezierspline_main is still sort-of slow for me - it takes 8 seconds for the context menu to pop-up for 75,000 selected entities. (I admit to having a sub-standard pc.)
-
@jim said:
Bezierspline_main is still sort-of slow for me - it takes 8 seconds for the context menu to pop-up for 75,000 selected entities. (I admit to having a sub-standard pc.)
Jim,
I made a change in the script.
see main post on BezierSplineIs is better with this release
Thanks
Fredo
-
-
Are you saying that each and every plugin is "polled" each time you wish to do something whether you "invoke" that/those plugins or not? If so, is that efficient? Keep in mind I don't know the terminology, and I certainly don't fully understand.
-
@mitcorb said:
Are you saying that each and every plugin is "polled" each time you wish to do something whether you "invoke" that/those plugins or not? If so, is that efficient? Keep in mind I don't know the terminology, and I certainly don't fully understand.
Not every plugin, but when a plugin want to add a context menu a function is run - and if the plugin tried to evaluate the whole selection or do any processor expensive calculations in this function it'll delay the context menu.
Advertisement