• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Login
FAForever Forums
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Login

Questions about performance: Cybran build drones

Scheduled Pinned Locked Moved General Discussion
58 Posts 22 Posters 5.3k Views 3 Watching
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.
  • R Offline
    Resistance
    last edited by Resistance 8 Jul 2021, 13:45 7 Aug 2021, 13:44

    i was always wondering why just not making simspeed++ or quality of performance a ranked mod ?
    it already solves the problem and doesn't require an official update but whatever,good stuff you put down there Jip,hopefully people will work on it or at least take it in consideration

    queuing with a newbie to show him the beauty of tmm and meeting tagada be like:
    https://www.youtube.com/watch?v=yLcRpdZ0Xb0&ab_channel=Tomoko

    J 1 Reply Last reply 7 Aug 2021, 14:30 Reply Quote 1
    • V Offline
      Valki
      last edited by 7 Aug 2021, 13:45

      I think this would significantly alter the look, more than needed... I think you should look at disguising removed sparkle effects - perhaps by one large somewhat random sparkle effect that encompasses the entire build.

      Lastly I want to mention that, in 2007, Supreme Commander made me aware of subtractive 3d printing through the Cybran. Preserving that part of the look would be most important to me.

      1 Reply Last reply Reply Quote 0
      • C Offline
        CheeseBerry
        last edited by 7 Aug 2021, 13:49

        Personally, I think the aesthetic of cybran drones being a much a more chaotic way of building than what the other factions use is important for the game's art style/flavor. That's why I always found the simple lasers of simspeed++ lacking.

        What you propose here seems to be a good compromise: We get rid of more than half the entities, without significantly altering the art style, while leaving gameplay completely untouched.

        I'd say it's a good idea!

        1 Reply Last reply Reply Quote 1
        • J Offline
          Jip @Resistance
          last edited by Jip 8 Jul 2021, 14:56 7 Aug 2021, 14:30

          @rezy-noob said in Questions about performance: Cybran build drones:

          i was always wondering why just not making simspeed++ or quality of performance a ranked mod ?
          it already solves the problem and doesn't require an official update but whatever,good stuff you put down there Jip,hopefully people will work on it or at least take it in consideration

          The simspeed++ mod doesn't actually do a whole lot. It just changes hives in a drastic manner last time I checked.

          @valki said in Questions about performance: Cybran build drones:

          I think this would significantly alter the look, more than needed... I think you should look at disguising removed sparkle effects - perhaps by one large somewhat random sparkle effect that encompasses the entire build.
          Lastly I want to mention that, in 2007, Supreme Commander made me aware of subtractive 3d printing through the Cybran. Preserving that part of the look would be most important to me.

          There will be a difference when you use one or two builders. But late game, you'll use dozens of builders. And you won't have the time to appreciate the animation anyhow. Having more performance at that time

          If you have 2 - 3 engineers building something then it will still roughly look the same - random drones sending beams and sparkles at different locations. In the end, especially late game when it starts to matter, you typically build things with dozens of builders. And in those specific situations, it will feel the same but it will also be a lot faster and that is what matters.

          I got a question from @CheeseBerry about not seeing emitters at all - does it still matter? When building, the answer is yes:

          • 150 T3 t3 Aeon engineers cost about 0.2 ms (!)
          • 150 hyves (upgraded) cost about 11 ms.

          A work of art is never finished, merely abandoned

          1 Reply Last reply Reply Quote 0
          • B Offline
            Brutus5000 FAF Server Admin
            last edited by 7 Aug 2021, 16:10

            From my understanding you would modify the unit itself. Stupid question amyway, but can this optimisation be done only on a certain amount of engis?

            He said, "I've been to the year 3000
            Not much has changed, but they live underwater
            And your great-great-great-granddaughter
            Is playin' FAF, playin' FAF"

            J 1 Reply Last reply 7 Aug 2021, 17:22 Reply Quote 1
            • J Offline
              Jip @Brutus5000
              last edited by Jip 8 Jul 2021, 17:26 7 Aug 2021, 17:22

              @brutus5000 said in Questions about performance: Cybran build drones:

              From my understanding you would modify the unit itself. Stupid question amyway, but can this optimisation be done only on a certain amount of engis?

              Yes it can be. I am also working with ambient sounds and seeing how that impacts the sim. What you could do is keep track how many of a unit exists (that should be cheap to do) and act on that during unit creation (to prevent unnecessary checks during runtime). For example, you pre-define how many drones a unit should have.

              Problem with this is that it will no longer be the same, all the time. And with aesthetics that are visible that may be strange.

              edit: with that said, just because we can doesn't mean that I think we should do it. It introduces additional complexity to something that (in my opinion) doesn't require it.

              A work of art is never finished, merely abandoned

              1 Reply Last reply Reply Quote 0
              • A Offline
                ANALyzeNoob
                last edited by 7 Aug 2021, 17:48

                Because simspeed lag is one of the worst aspects of this game, anything we can do to ameliorate the problem is a great idea. I don't care how many cybran drone bots are visible. In fact, I would probably PREFER to see a laser beam similar to aeon because it makes it a lot easier to see exactly what the hives are assisting. Sometimes you don't notice they started assisting your smd or something else unimportant when that was your lowest priority.

                1 Reply Last reply Reply Quote 3
                • A Offline
                  Askaholic
                  last edited by 7 Aug 2021, 18:42

                  I had the same thought as Brutus. Since 1 hive alone doesn’t cause a huge simspeed problem, let’s leave it as it is and only change the animation once the number of hives hits a critical number where you can’t tell the difference anyways.

                  S 1 Reply Last reply 7 Aug 2021, 18:54 Reply Quote 0
                  • S Offline
                    Sheikah @Askaholic
                    last edited by 7 Aug 2021, 18:54

                    @askaholic said in Questions about performance: Cybran build drones:

                    I had the same thought as Brutus. Since 1 hive alone doesn’t cause a huge simspeed problem, let’s leave it as it is and only change the animation once the number of hives hits a critical number where you can’t tell the difference anyways.

                    Although one thing to consider is that this will increase the complexity of this portion of the code quite significantly. So we also have to consider if this is worth it from a maintenance stand point.

                    B 1 Reply Last reply 7 Aug 2021, 21:23 Reply Quote 1
                    • S Offline
                      speed2
                      last edited by 7 Aug 2021, 20:48

                      Im pretty sure in OG FA the number of build bots is exactly as you describe it, 1/2/3 per tech level. ACU has smth like 5?
                      Then FAF changed it, it was scaled by build power. Then the lag started, so it got nerfed and now with your changes we're going full circle, back to the original values 🙂

                      1 Reply Last reply Reply Quote 0
                      • B Offline
                        Brutus5000 FAF Server Admin @Sheikah
                        last edited by Brutus5000 8 Jul 2021, 21:23 7 Aug 2021, 21:23

                        @sheikah That question applies to almost all performance optimisations.

                        He said, "I've been to the year 3000
                        Not much has changed, but they live underwater
                        And your great-great-great-granddaughter
                        Is playin' FAF, playin' FAF"

                        1 Reply Last reply Reply Quote 1
                        • S Offline
                          Sprouto
                          last edited by Sprouto 8 Jul 2021, 21:38 7 Aug 2021, 21:37

                          The key performance issue with Cybran build bots is rather simple - unit count. Every one of those drones is a unit - and they are being created, and destroyed, at a rather fantastic pace. This has two long term side effects - each drone creates a new entity (unit) which has to be initialized just like any other unit - and when it's finished a task - it is destroyed. This process, of itself, is not very hard on the CPU except for the intangible effects of garbage collection.

                          The garbage collection process of SCFA can, by the time a game is more than 30 minutes old, consume almost 20%, or more, of all the clock cycles available to the SIM. Why ? Because the creation of new units, and new tables and variables in the code are too intensive - and the memory used must be reclaimed - only to be used again - in very quick succession.

                          The largest of all memory allocations in SCFA is the creation of a new unit. Anyone who has ever examined a blueprint for any unit knows just how many variables are involved - and that is the problem in a nutshell. If you reduce the creation of drones down to a modest level, you minimize this problem quite a bit. Now - in the end - it becomes a simple matter of aesthetic versus performance.

                          1 Reply Last reply Reply Quote 2
                          • S Offline
                            speed2
                            last edited by 7 Aug 2021, 21:44

                            FAF is reusing the bots, as long as there is another target to build right away, they dont despawn.

                            1 Reply Last reply Reply Quote 2
                            • E Offline
                              Exselsior
                              last edited by 8 Aug 2021, 15:59

                              Is changing the speed that drones change target from .2s to .5s purely a visual thing or is that a nerf to how quickly they can change what they’re assisting or building?

                              J 1 Reply Last reply 8 Aug 2021, 16:34 Reply Quote 0
                              • M Offline
                                Morax
                                last edited by 8 Aug 2021, 16:29

                                Rookie game engine question here: how did you evaluate the increase in time to render ? What console commands and such?

                                I would like to just for fun have some people I know with “cheese or potato” PCs run it, along with my own, see what happens.

                                Overall though, as Sprouto said, it’s almost as simple a fact that more units are generated.

                                J 1 Reply Last reply 8 Aug 2021, 16:34 Reply Quote 0
                                • J Offline
                                  Jip @Exselsior
                                  last edited by 8 Aug 2021, 16:34

                                  @exselsior said in Questions about performance: Cybran build drones:

                                  Is changing the speed that drones change target from .2s to .5s purely a visual thing or is that a nerf to how quickly they can change what they’re assisting or building?

                                  Purely visual. It is how often they choose a random location within the building they are 'building'. The resources switches immediately. The beams of the engineer would follow right away. The drones would follow shortly after.

                                  A work of art is never finished, merely abandoned

                                  E 1 Reply Last reply 8 Aug 2021, 16:52 Reply Quote 2
                                  • J Offline
                                    Jip @Morax
                                    last edited by 8 Aug 2021, 16:34

                                    @Morax use ren_ShowNetWorkStats in the console. Spawn in 150 hives and make them assist a quantum gateway while you have essentially no income.

                                    A work of art is never finished, merely abandoned

                                    1 Reply Last reply Reply Quote 0
                                    • E Offline
                                      Exselsior @Jip
                                      last edited by 8 Aug 2021, 16:52

                                      @jip Figured that would be the case, thanks! I like the ideas

                                      1 Reply Last reply Reply Quote 0
                                      • J Offline
                                        Jip
                                        last edited by 9 Aug 2021, 19:13

                                        In order to push the conversation to a conclusion I'd like to sit down with people. I'd like to take out potential ambiguity. I assume that the people who upvoted the original post are positive to the changes.

                                        I'll be on the FAF discord channel on Thursday 21:00 GMT+2 and on Friday 21:00 GMT+2 - please be there if you have questions. I intent to implement the changes this weekend - that way it can be inspected on the Dev branch starting next week and hopefully be live when September starts.

                                        A work of art is never finished, merely abandoned

                                        1 Reply Last reply Reply Quote 0
                                        • A Offline
                                          arma473
                                          last edited by 9 Aug 2021, 19:21

                                          How hard would it be to make a SIM mod that does this? So we could test it for ourselves. We could test for performance or look at how it affects aesthetics so we can decide evaluate the trade-offs involved.

                                          Also I assume that you would have to basically do the same work to prepare the SIM mod as to make these changes to the main branch of FAF itself. So there is essentially zero wasted effort in taking the time to make this SIM mod.

                                          If you just plug the changes directly into the dev branch, it would be a lot harder to compare with/without the changes, because there may be other differences in the dev branch. And every time we load up a game with the dev branch, doesn't it have to download lots of files? Like if we wanted to go back and forth between regular FAF and the dev branch to test it, it would be a pain. But if you just make a SIM mod it would be easier for us to see the difference.

                                          Alternatively: make a SIM mod that adds new units: a new hive with the changed animations. Then we could run a single game, cheat in some units/buildings, and put regular hives on one side and new hives on the other side. And then we could watch them work at the same time. So we could do a side-by-side splitscreen comparison of the aesthetics with both running. And then run only one side at a time to check performance with the other side hives paused.

                                          1 Reply Last reply Reply Quote 0
                                          12 out of 58
                                          • First post
                                            12/58
                                            Last post