hyperPad hyperPad Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Login

    Which more expensive: Broadcast or Conditional?

    Scheduled Pinned Locked Moved
    Help and Support
    5
    14
    521
    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
      Deeeds @Kamdroid
      last edited by

      @Kamdroid I was kind of hoping they just read these forums as a matter of course. It's not like there's much in here ;)

      Except for my dribbles and rants.

      I'm not so sure about the listeners actively listening. This might be just a metaphor being used. They're probably sitting in an array or dictionary that's messaged only when a "broadcast" is sent, meaning highly efficient. Possibly more so than conditionals.

      boring story approaching: A friend of mine, a few years ago, spent a huge amount of time teaching me to not use ifs because he'd found them to be a bit of a drag in high frequency stuff. We were doing lots of particles, where the volume of activity was enormous, but we always wanted more. More particles = good! It was all C++ and he had some pretty tight stats on it all. Made me a believer, even if I didn't fully understand where he was headed with it all.

      The bottom line was polymorphism being used correctly, I'd dare say. He is a bright guy. I'm just a designer, but it fascinated me that he'd figure how to remove ifs like they were parasites.

      1 Reply Last reply Reply Quote 0
      • HamedH
        Hamed Admin
        last edited by

        Broadcasts are really fast. They are much faster than using collisions or something like that. @Deeeds it works like you think it is.

        D 1 Reply Last reply Reply Quote 1
        • D
          Deeeds @Hamed
          last edited by

          @Hamed BEST NEWS TODAY! I can and will base most of what I'm doing around them, then. And use them like function/method calls all over the place. I thought this might have been one of the ways you were making them useful.

          THANK YOU!!! Way to go!

          1 Reply Last reply Reply Quote 0
          • HamedH
            Hamed Admin
            last edited by

            @Deeeds The only thing i would suggest doing is leaving little comments for your self otherwise you will have a bunch of broadcasts and receives that you don't remember what they're for.

            D Aidan_FireA 2 Replies Last reply Reply Quote 0
            • D
              Deeeds @Hamed
              last edited by

              @Hamed Yeah, I have a Notes file with that sort of gunk. I've been meaning to request picking Event Keys operate like Behaviour On/Off where there's a long list of all possible ones, by alphabetical order, by object/original origin.

              1 Reply Last reply Reply Quote 0
              • Aidan_FireA
                Aidan_Fire @Hamed
                last edited by

                @Hamed Are broadcasts expensive at all? For example, in my 3D project the faces of a shape have to conform to 3 points, I’ve done this (messily) by colliding with those 3 points (they’re in a tag) and then basically getting the position on a timer of the object it collided with. Is this at all more efficient that constantly broadcasting dynamic messages?

                iTap DevelopmentI 1 Reply Last reply Reply Quote 0
                • iTap DevelopmentI
                  iTap Development @Aidan_Fire
                  last edited by

                  @Aidan-Oxley I would think broadcast would be better. Because otherwise you have objects with collisions, but you wouldn’t need that if you didn’t use collide.

                  1 Reply Last reply Reply Quote 0
                  • HamedH
                    Hamed Admin
                    last edited by

                    The only expense is having a lot of logic in the receive message side. Physics engine is much slower to do those kind of tasks.

                    Aidan_FireA 1 Reply Last reply Reply Quote 0
                    • Aidan_FireA
                      Aidan_Fire @Hamed
                      last edited by

                      @Hamed The collision happens once. The face collided with one point, the turns off that collision and moves to another point. It does this 3 times with 3 separate collision behaviours. Once it’s done, it waits until everything else has finished loading, then runs a timer on the behaviours underneath the collisions so that it can get information on those 3 objects. So this is more efficient than broadcasting a message on a timer containing an objects position right?

                      1 Reply Last reply Reply Quote 0
                      • HamedH
                        Hamed Admin
                        last edited by

                        No broadcasting is still much faster. You can avoid timers and delays and collision take multiple time steps

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post