HISE Logo Forum
    • Categories
    • Register
    • Login

    Ghost panels again

    Scheduled Pinned Locked Moved Bug Reports
    31 Posts 4 Posters 1.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • d.healeyD
      d.healey @ustk
      last edited by

      @ustk said in Ghost panels again:

      @Christoph-Hart could we finally get a fix for this please?

      I posted an example in the previous ghost panels thread that triggered the problem quite reliably.

      Libre Wave - Freedom respecting instruments and effects
      My Patreon - HISE tutorials
      YouTube Channel - Public HISE tutorials

      1 Reply Last reply Reply Quote 1
      • orangeO
        orange @ustk
        last edited by orange

        @ustk Welcome again mate, I hope there is no break anymore :)

        develop Branch / XCode 13.1
        macOS Monterey / M1 Max

        Christoph HartC 1 Reply Last reply Reply Quote 1
        • Christoph HartC
          Christoph Hart @orange
          last edited by

          Welcome back Greg and yes, let's get this sorted.

          @d-healey I think your example hasn't anything to do with ghost panels - it's just that you need to preload any image resource that you want to use in a child panel.

          If I load the image in the onInit callback it works without issues and I wouldn't call this a deal breaking bug, just a minor glitch that you should be able to work around (but you've probably did something similar).

          If someone can make another example that reproduces the issue (or post a link to it if it got buried somewhere) I'll take a look.

          d.healeyD ustkU 3 Replies Last reply Reply Quote 1
          • d.healeyD
            d.healey @Christoph Hart
            last edited by

            @Christoph-Hart Pretty sure I'm preloading the images in my example. I'll dig out again and check.

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            1 Reply Last reply Reply Quote 0
            • ustkU
              ustk @Christoph Hart
              last edited by ustk

              @Christoph-Hart @orange Thanks Mates ! 😊
              well the biggest problem is that I can't reproduce it consistently, you can run it a quite many times before it throws the issue
              Though I can say it happens both in Hise and the exported app

              I can share the project if you want, but I have either to modify it (because I use a modified version of Hise with some APIs) or provide you with Hise directly (you need audio inputs enabled to use my app), so I assume you need a debug version ?

              I will also work on a snippet that could reproduce the bug, but I quasi sure the panel thing has to be complex enough to see the bug arriving…

              Can't help pressing F5 in the forum...

              1 Reply Last reply Reply Quote 0
              • d.healeyD
                d.healey
                last edited by

                Ok it was in this post - https://forum.hise.audio/topic/5706/beta-test-finally-i-have-a-new-product-almost/90?_=1669329860943

                I think it is a preload issue in this case. Although I am loading the image before attempting to draw it, the draw happens at the same time as the load.

                So I'm in the same position as Greg that I can't reliably recreate the issue. It just happens sometimes.

                Libre Wave - Freedom respecting instruments and effects
                My Patreon - HISE tutorials
                YouTube Channel - Public HISE tutorials

                1 Reply Last reply Reply Quote 1
                • ustkU
                  ustk @Christoph Hart
                  last edited by ustk

                  @Christoph-Hart Alright, I created a simple snippet that consistently gives ghost panels.
                  But you've got to be patient sometimes, or even recompile before seeing one...
                  As you can see, sometimes it happens in series (but not always)

                  HiseSnippet 1712.3ocsX0saaaCEVNIpq1cdXcXW1KHLFPkWbckaSxBPV1bhSbmwRZLhS6FPQQAiDsMQjIEjniiWQtrX2s8JrGs8Hr2frygTxV9mTLDrJrEXd34muyujrsijdr3XYjUt7mMNjYk6ys6LVn52nOkKrZcfUtGZ+h9xXUapfEb.67g8r1ebHMNl4akK2pu.YKW90rze+yOtOMfJ7XSIYY8ZI2icDe.WMkZ65+LOHnI0mcFePFt2ndKOongLPNDfzp1tVgTuKn8XujhrshsUt6cnOWIi5nnJVrUt01W5OtSe4Hgg+Wyi4mGvvE0r5.JxPtoLvGQLR0pQedfe6TWO1BzR6oAhUMAhu19XtOeB8oAjuTuAYpDYiG4VYV3s5LvqVV34lAdKAR4x.o0LP5g1c7h3gpo6f34A1sDJVTWJD1yBECuVqTJucCoHVFvp5EvnQNk2oXAfhhITUGPuf0LBVLQGN0bccqP110E4qXAHeDqHWRiH5RfZjcIoB2ioZHGDJEvBmRlsKgRY9YUephVMRNJFj4MucmTxwLf69Ldu9pRUHfYJjwHGQO+iYDy1fQJX9kQYJ1UnpJ0Hf6cAgR7vnIQIIwLFQ0mz5fRyZk.tf8SZD.V54t.jK7zmRZ.gGAIh0kEwfh3XBUQ3BthLpOCo6A3fCh1iDqisvlwJF0mH6RdUqpUqVfKPMS5NT3o3RTlAxKYGPE8Pwz9erS4BuuP9txHGCL4hjHq1U00A3xi3wJmxkKjOulspFUA4pAsoQXr.7nqKrbC.9ZwLQ61Poq5T4PEfMmTr4zSiidU6Bch6ED33dUylan+vT30FkLuCMLDRpLmxEK79hEHv2Ryoym+qFvD8f7v2lIviFAUf4uAROZ.YLjMbmg9xBSSTaYCOIHA+LgJMXFC3XbpQvuwj02Mi8S14ZvUgr+BNJ02uib.6XYDSmSfPtCXyzbGwguq6N7u+YarCe80grDPNuwILvcWBvcUPKSynXdIe9IITLwHi45bQsMbIqSd9lPDhWg7L3+1B+es.Y7IZPfbTC3umCSEimTwGSNQDLtzhp+1x640vEx8wXyENrEx9arQylatYylZ0jTWbJyS4n5yiwZyiP2ae4PgeriaYMaWufMOVNLlkBwoFkcITxBFVmuP8y6ZnAyj.Of4ifxfp7KoyFgP4cHPO5XFsOrjpdbL4bn067gJBfsV9NkI9RVr3wP6pL5BraDz00ofD9AztrXAsWDCJnOUNJSMsIOFB4vjJtERiYp7mVjCSCXQJGX3YXBKF0ENSpF1N.ZsWVKQkLCB9EtupuS4JKoiI7ikaWnk.G2QwAvfgcMQxYzeJAiMfn3SH0dal1lEKRvuxyvgeDcjtTgVgTq77B2ThStO4pw8XBHWVaqptkuUCr81KZ.5abeK17VyMCw4s+dA7dBl+YPAithsBA.So.VWEzXjv80oZU+mk0hGlxQ5ftcRlOjYbJdkknEKw0iFxVOsiYH5BkbRw9CUJonFdDWjLvwK87sJP1JXHC0DhAnGIYcpqlBBEMx.C7z5jhMXxOaQFkgF9PzrSgkenZBbJU1jIzfZh+MOZ0tzc4qXgLQfWJUrSRhYPeIY9s51co6kfg.zgVx1It5sKniX3fyYQYhyZFgaXM601ru8qsk8VkdlvYFFkhVvEFNIjIts6ZZkjCfe8pVG.COv65kPC3KDFgvQHj6.1kvEmM27Ku8Ar3KfjIn0IINqbelRu6WkbuPl+q4rQgxHkE2GuXX5xZVWk8F4imtnU8X5krVh1QLH2iWabDNXXBC0+y5lS0mPI72qi3cdLTL8toXgm17221TDdq11xZVa8W+wTacuTVB0W1Ii8x5UVYneeCN9hDbXJZ0.IucREbVj7M0Gmcw7QA7bG8igNauSO6ocN6j1yA15eX9.i0OTOKddvrwE8gZIwEyAbYPye+gYQyrlhDsDSwf5UptjLErOx91u9qUWn.qC+2x7TqspqooFi53dPAefu048Re5U96cyM27Hya0V3cHvKfj9CCnpYeVD9VvjMfltYdKB95BAb.33ruU7+s2J8eEhOztMW40e4XbkkfQn07SAFSdgYQ6C61EN0bJ.Wyt4u9o44jVlqJz6XpJhCEd1ub3fNPl1CN5iJvWM.zxsBNdxr1EWiQfNLgudATPbSxl0v04R1rV5lVCndQx24YF0hug89ZJ.lD5mum29XbMolkd7KHmsaUWqAvyoemmG59OA5oWtLO6NHyyuCxrwcPlMuCxr0cPlu6NHy1eTYv+kL1anRNvzN.DZen9Lob4NTfiWzUgV+KLBT0yE
                  

                  Screenshot 2022-11-25 at 13.43.30.png

                  Screenshot 2022-11-25 at 13.43.11.png

                  Screenshot 2022-11-25 at 13.45.24.png

                  Can't help pressing F5 in the forum...

                  Christoph HartC 1 Reply Last reply Reply Quote 2
                  • Christoph HartC
                    Christoph Hart @ustk
                    last edited by

                    @ustk What amount of patience is required here? I've looked at it for about two minutes and no ghost panels appeared (also with recompiling).

                    Also your snippet doesn't have the clear button, maybe you've pasted an older version?

                    ustkU 2 Replies Last reply Reply Quote 0
                    • ustkU
                      ustk @Christoph Hart
                      last edited by ustk

                      @Christoph-Hart I was almost sure it wouldn't work on your side 🤣

                      No the one you have is the good one, in fact nothing changed except this clear btn which has nothing to do...

                      I do recompile often, because sometimes it just doesn't want to throw a ghost. Also it is apparently not related to the number of children you decide to create (so probably not a cluttering thingy) because I tried with 300 sub children per row with no more statistics...

                      Could it be more prone to make a ghost on slower computers ? Or a CPU thing ? I guess not because one of my beta tester had the issue on an M1...

                      I have nothing more to add than "try more", because I can't get a way of increasing the stats.

                      I tried to make a button that force repaints everything (all parents and children) to see if the ghost repaints, but no. When a ghost is a ghost, it stays a ghost :)

                      I also tried to check for doublons but it appears ghosts aren't doublons either

                      So, could it be that the paint routine isn't attached to it ? because the mouseCB is working (click a ghost and you get the ID)
                      I reckon I asked this a while ago => we don't see the children appearing in the scriptWatchTable, that would allow to check if a paint routine is attached, but I don't know if this is a difficult task...

                      Can't help pressing F5 in the forum...

                      1 Reply Last reply Reply Quote 0
                      • ustkU
                        ustk @Christoph Hart
                        last edited by ustk

                        @Christoph-Hart I've been lucky here, 3 times I got some ghosts...

                        Can't help pressing F5 in the forum...

                        d.healeyD 1 Reply Last reply Reply Quote 0
                        • d.healeyD
                          d.healey @ustk
                          last edited by d.healey

                          @ustk I'm not getting any, but I'll keep trying. Are you using open GL? Clicking on a child gives an error btw. Are you using the latest develop branch?

                          Libre Wave - Freedom respecting instruments and effects
                          My Patreon - HISE tutorials
                          YouTube Channel - Public HISE tutorials

                          1 Reply Last reply Reply Quote 0
                          • ustkU
                            ustk
                            last edited by ustk

                            @Christoph-Hart Youhou!!! I can get as many as I want by stressing the CPU using this method :

                            Link Preview Image
                            Stress Test a Mac by Maxing Out CPU

                            Stress Test a Mac by Maxing Out CPU

                            favicon

                            OS X Daily (osxdaily.com)

                            Screenshot 2022-11-25 at 17.48.34.png

                            Can't help pressing F5 in the forum...

                            d.healeyD 1 Reply Last reply Reply Quote 0
                            • d.healeyD
                              d.healey @ustk
                              last edited by

                              @ustk :D progress!

                              Libre Wave - Freedom respecting instruments and effects
                              My Patreon - HISE tutorials
                              YouTube Channel - Public HISE tutorials

                              ustkU 2 Replies Last reply Reply Quote 0
                              • ustkU
                                ustk @d.healey
                                last edited by ustk

                                @d-healey yes a recent develop, from around the faust implementation
                                Yes OpenGL is enabled, I'll try without...

                                Can't help pressing F5 in the forum...

                                1 Reply Last reply Reply Quote 0
                                • ustkU
                                  ustk @d.healey
                                  last edited by

                                  @d-healey Disabling OpenGL doesn't help

                                  Can't help pressing F5 in the forum...

                                  Christoph HartC 1 Reply Last reply Reply Quote 0
                                  • Christoph HartC
                                    Christoph Hart @ustk
                                    last edited by

                                    @ustk that yes trick is terrible, I like it!

                                    I also get a few ghosts now.

                                    ustkU 1 Reply Last reply Reply Quote 2
                                    • ustkU
                                      ustk @Christoph Hart
                                      last edited by

                                      @Christoph-Hart Welcome to the ghost world 👻

                                      Can't help pressing F5 in the forum...

                                      Christoph HartC 1 Reply Last reply Reply Quote 1
                                      • Christoph HartC
                                        Christoph Hart @ustk
                                        last edited by

                                        @ustk I think I've narrowed it down to something. The paint routine gets assigned after the glue object between scripting layer and UI is initialised but at the time setPaintRoutine is called, the initialization is completed and the UI component assumes that there is no paint function.

                                        I'll do some more tests, but it seems to be fixable.

                                        ustkU 1 Reply Last reply Reply Quote 4
                                        • ustkU
                                          ustk @Christoph Hart
                                          last edited by ustk

                                          @Christoph-Hart

                                          happy-dance-excited.gif

                                          Can't help pressing F5 in the forum...

                                          Christoph HartC 1 Reply Last reply Reply Quote 3
                                          • Christoph HartC
                                            Christoph Hart @ustk
                                            last edited by

                                            @ustk Alright, I've pushed a fix for it. the panel should now notify the UI component when a paint routine is assigned even after the initialization.

                                            With the terminal trick and your snippets I don't get any ghost panels anymore. This was the only issue there, right?

                                            d.healeyD ustkU 2 Replies Last reply Reply Quote 3
                                            • First post
                                              Last post

                                            15

                                            Online

                                            1.8k

                                            Users

                                            12.1k

                                            Topics

                                            104.9k

                                            Posts