sketchucation logo sketchucation
    • 登入
    Oops, your profile's looking a bit empty! To help us tailor your experience, please fill in key details like your SketchUp version, skill level, operating system, and more. Update and save your info on your profile page today!
    ⚠️ Important | Libfredo 15.6b introduces important bugfixes for Fredo's Extensions Update

    Add_group slow on mac

    已排程 已置頂 已鎖定 已移動 Developers' Forum
    48 貼文 7 Posters 18.2k 瀏覽 7 Watching
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • G 離線
      GWD
      最後由 編輯

      @thomthom said:

      @jhauswirth said:

      Looking at the add_group Ruby code, its the same on both platforms.
      One reason (don't know if this is true) it could be slower on the Mac
      is the notifications that are sent around could be updating the Mac
      UI, like the component browser. This may be more efficiently done on
      the PC.

      I have noticed that if you use Sketchup.status_text within a loop it will be very slow under OSX. It seems that the UI is forcefully freshened all the time, while on Windows you get "white-out" and the UI stops updating - but completes the loop much much faster.

      But if it is the UI that slows things down, then running the test with start_operation and disable_ui argument set to true, should show a good performance increase, right?

      I tested it with start_operation and it as no effect!

      1 條回覆 最後回覆 回覆 引用 0
      • G 離線
        GWD
        最後由 編輯

        I just did some testing with adding components instead of groups (see script below). And the result is shokking. Placing 600 component give about the same time as the 600 groups 0.7 sec on PC and 27 sec on MAC. BUT after the script ended the MAC keep on showing the busy icon for very long time. More than 5 minutes (then i killed sketchup). I did the same test on mac with different number of components and this are the results:

        50 components 0.29 sec running script 17 sec busy icon after script
        100 components 0.85 sec running script 35 sec busy icon after script
        200 components 3.8 sec running script 2 min 25 sec busy icon after script
        300 components 7.6 sec running script more than 5 min sec busy icon after script
        600 components 27 sec running script more than 5 min busy icon after script

        require 'sketchup'
        UI.menu("PlugIns").add_item("bugMAC Test2") {
        model = Sketchup.active_model
        entities = model.entities
        puts '- Start test1 add_group bug on MAC -'
        start = Time.now
        for n in 1..600 do 
        	newdef = model.definitions.add		
        	newdef.name = n.to_s
        	point1 = Geom;;Point3d.new(n*10,0,0)
        	newdef.entities.add_cpoint point1 
        	pt = Geom;;Point3d.new 0,0,0
        	trans = Geom;;Transformation.new pt
        	i = model.entities.add_instance(newdef, trans) 
        	i.make_unique	
        end
        puts 'Total time; ' + (start - Time.now).to_s  
        } 
        
        1 條回覆 最後回覆 回覆 引用 0
        • G 離線
          GWD
          最後由 編輯

          No solutions?

          1 條回覆 最後回覆 回覆 引用 0
          • Dan RathbunD 離線
            Dan Rathbun
            最後由 編輯

            Not surprising that it takes the same time to add groups and components, because a group is a special type of component, that also has a ComponentDefinition (whose group? attribute is true.)

            The extra time, likely comes from adding all that new stuff to the Component browser. (guessing, here.)

            Close any unneeded toolwindows, especially the Object browser. And use an operation with the disable_ui flag set.

            That's all we can say. I guess John indicated that there were UI issues with the Mac edition. (I'm not sure if he said the SDK updates did, or did not make it into the last build... he was a bit ambiguous. But internal politics, ya know....)

            You can always file a bug report. The more people that scream...

            I'm not here much anymore.

            1 條回覆 最後回覆 回覆 引用 0
            • G 離線
              GWD
              最後由 編輯

              Dan, where can i post a bug report?

              1 條回覆 最後回覆 回覆 引用 0
              • Dan RathbunD 離線
                Dan Rathbun
                最後由 編輯

                @gwd said:

                Dan, where can i post a bug report?

                Open Sketchup... pulldown the Help menu, choose "Contact Us" ...

                ... your browser will open, to the Google Sketchup Contact page.

                Use the "Bug Report" link, to bring up the form, and fill it out.

                I'm not here much anymore.

                1 條回覆 最後回覆 回覆 引用 0
                • G 離線
                  GWD
                  最後由 編輯

                  I submitted a bug report.

                  1 條回覆 最後回覆 回覆 引用 0
                  • Dan RathbunD 離線
                    Dan Rathbun
                    最後由 編輯

                    Good news for Mac users. This issue has been reported as fixed in the 8.0M3 release.

                    see: SketchUp Release Notes

                    and get the latest MR at the SketchUp Downloads page.

                    I'm not here much anymore.

                    1 條回覆 最後回覆 回覆 引用 0
                    • T 離線
                      th3lurker
                      最後由 編輯

                      I would have loved it if they fixed add_face too. I've found workarounds, so i don't need it now, but still.

                      1 條回覆 最後回覆 回覆 引用 0
                      • G 離線
                        GWD
                        最後由 編輯

                        The problem isn't fixed at all on mac. I did the test i posted before with the new version. On mac the script runs 250% slower on the new version. On pc the script runs 300% faster on the new version!

                        1 條回覆 最後回覆 回覆 引用 0
                        • thomthomT 離線
                          thomthom
                          最後由 編輯

                          @gwd said:

                          The problem isn't fixed at all on mac. I did the test i posted before with the new version. On mac the script runs 250% slower on the new version. On pc the script runs 300% faster on the new version!

                          Can you post your test code?

                          Thomas Thomassen — SketchUp Monkey & Coding addict
                          List of my plugins and link to the CookieWare fund

                          1 條回覆 最後回覆 回覆 引用 0
                          • G 離線
                            GWD
                            最後由 編輯

                            @thomthom said:

                            @gwd said:

                            The problem isn't fixed at all on mac. I did the test i posted before with the new version. On mac the script runs 250% slower on the new version. On pc the script runs 300% faster on the new version!

                            Can you post your test code?

                            You can find the code on page 3

                            1 條回覆 最後回覆 回覆 引用 0
                            • D 離線
                              driven
                              最後由 編輯

                              @gwd said:

                              You can find the code on page 3

                              Hi,
                              after a lot of digging, it appears that your test code will run in 0.8[1..3] seconds on both Snow Leopard and Mountain Lion with free or pro SU v6, v7 or v8, UNLESS you have either of these in your preference list
                              %(#FF00BF)[<string>OutlinerController</string>
                              <string>ComponentGBrowserController</string>
                              ]
                              these have no ill effect, but add either of the others and you beach-ball...
                              %(#00BF00)[<key>OpenInspectors</key>
                              <array>
                              <string>PagePanelController</string>
                              <string>LayerPanelController</string>
                              <string>StyleBrowserController</string>
                              <string>SoftenPanelController</string>
                              <string>EntityInfoController</string>
                              </array>]
                              They actually fork the main Thread into a timer loop to make the thumbnails and will do that even if the ruby has run before you open the Inspector. i.e run test code without, then zoom, orbit, make new geometry, etc... turn on 'Components' or 'Outliner' and you'll get a beach-ball.
                              If 'Components' is run first 'Outliner' opens straight away.

                              john

                              learn from the mistakes of others, you may not live long enough to make them all yourself...

                              1 條回覆 最後回覆 回覆 引用 0
                              • 1
                              • 2
                              • 3
                              • 1 / 3
                              • 第一個貼文
                                最後的貼文
                              Buy SketchPlus
                              Buy SUbD
                              Buy WrapR
                              Buy eBook
                              Buy Modelur
                              Buy Vertex Tools
                              Buy SketchCuisine
                              Buy FormFonts

                              Advertisement