Falcon BMS Forum
    • Categories
    • Unread
    • Recent
    • Popular
    • Website
    • Wiki
    • Discord
    • Contact
    • Register
    • Login

    Understanding FPS info?

    Scheduled Pinned Locked Moved Solved Community Support (BMS Q&A)
    18 Posts 5 Posters 432 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.
    • AtlasA Offline
      Atlas
      last edited by Atlas

      When looking at the FPS info displayed in BMS, there is FPS, Sim, Ren, Mem, Cmd, Cycle, Draw, etc. on there. Are these terms explained somewhere in the BMS documentation or forum?

      I’d just like to better understand these numbers and how it relates to display settings or hardware adjustments.

      Thanks!

      airtex2019A 1 Reply Last reply Reply Quote 0
      • airtex2019A Offline
        airtex2019 Global Moderator @Atlas
        last edited by airtex2019

        (Disclaimer: we reserve the right to change and evolve these… this is the best of my knowledge as of 4.37.4)

        FPS => is just 1000/milliseconds … time measured from frame to frame (from prior D3D Present() call to latest Present() call)

        Sim rate/time => this is the “main loop” thread, which does everything from processing input events, networking events, moving things around (physics, collision-detection) and telling the Render thread what to draw, and where. This metric is the clock-time required for the simloop-thread to complete one frame of work.

        Ren rate/time => this is “render loop” thread, which takes the queue of what-to-draw instructions from the Sim loop and transmits them to Direct3D. This metric is the clock-time required for the render-thread to complete one frame of work.

        (Visualize: an assembly-line with 4 stations… simloop, then render-thread, then GPU paints the frame, then it’s transmitted over a cable to the monitor)

        Cmds => number of D3D draw instructions … a rough measure of “relative load” on the Ren thread and GPU to paint that frame. You’ll see this number go way up, as you fly near airbases, cities, front-line combat, etc.

        Mem => this is not total RAM or VRAM, just the special pool of memory used for the D3D draw commands, above.

        Sim/Ren Cycle => this is a bit of misnomer… to me “cycle time” implies a full frame-to-frame time measurement – but in this case it’s more like a stopwatch, measuring start-of-work to end-of-work.

        Sim-Cap => time-delay from the built-in FPS limiter

        Sim-Draw => time spent formulating draw instructions for the Ren thread

        Ren-Exec => time spent transmitting the draw instructions to D3D

        Ren-Prsnt => time spent inside the D3D Present() call … this API call tells D3D “ok we’re done with this frame, tell nvidia driver to start doing its thing” … delays here could be due to v-sync, or 2nd/3rd party FPS limiters which plug in at this layer, or it could mean GPU is the bottleneck and D3D has to wait for a backbuffer to free up

        Sim-WaitRen => time spent waiting on the Render thread (these 2 threads run in parallel, but are interlocked with one another – again visualize the assembly-line metaphor … the line can only move as fast as its slowest station)

        Ren-WaitSim => time spent waiting on the SimLoop thread (see above)

        Note neither of these “wait” times necessarily means you’re CPU- or GPU-bound… it’s just one CPU thread waiting on another CPU thread.

        But in the typical case (without triple-buffering or v-sync or fps-limiters) if your GPU is the weakest link, you may see the Ren thread spending significant time in Prsnt and the Sim thread blocked waiting for the Ren thread.

        That’s all I know ottomh, the others tend to not be significant factors… things like RTT-export and background threadpool jobs.

        TomcattwoT AtlasA 2 Replies Last reply Reply Quote 12
        • TomcattwoT Offline
          Tomcattwo @airtex2019
          last edited by

          Great explanation, @airtex2019, but that’s gonna make some peoples’ heads explode 🤯 🤯 🤯 🤯 !!!

          @Atlas , you asked for it 🙂
          Regards,

          Tomcattwo
          (VoiceClone)
          System: ABS Eurus PC, Win 11; Intel i9 13900K CPU, EKWB RGB 360MM AIO liquid cooler, MSI GE Force RTX 4090 Suprim Liquid, MSI Z790 Tomahawk MB, TeamGroup Delta RGB 32GB DDR5 6000 MHz RAM, SSDs: 2 x NVMe, 1 ESATA SSD (8 TB), ABS Cyclops 1000W PSU, HOTAS Cougar+VFS-WE, Viper TQS Throttle, TM MFD's, Simgears ICP, PSM DED+FFS, Meta Quest 3 VR Headset , VRCover link cable, Soundcore VR P10 earbuds, Netgear Nighthawk CM 2050V cable modem, Nighthawk AX5300 2 band WiFi 6 Router.

          eVhWolfgangE 1 Reply Last reply Reply Quote 0
          • eVhWolfgangE Offline
            eVhWolfgang @Tomcattwo
            last edited by

            🤣

            SYSTEM: Intel i7-14700k 3.400 GHz w/360 AIO Cooler : 32 GB Kingston Fury Beast DDR5 RAM : NVidia GeForce RTX 4070 Ti Super : TrackIR 5 : VKB Gladiator NXT Evo SCG Premium : VKB STECS Standard : Winwing ICP : 2 Winwing MFD Unit1 : 3 27" 240Hz curved displays : FoxVox

            1 Reply Last reply Reply Quote 0
            • AtlasA Offline
              Atlas @airtex2019
              last edited by

              @airtex2019
              Much appreciated sir! And am I correct that this info does not exist in the current PDF manuals?

              @Tomcattwo
              Best to learn something new!

              AtlasA 1 Reply Last reply Reply Quote 0
              • AtlasA Offline
                Atlas @Atlas
                last edited by

                alt text

                alt text

                Surprisingly, frametime doesn’t seem to be on there?

                Let me see if I understand the basics at least:

                • FPS - higher is better
                • Frametime - wherever it may be, lower is better and big frametime spikes can be seen as stuttering or a not-smooth visual experience
                • Sim - lower is better??
                • Ren - lower is better??
                • CMD - higher means more load on GPU, not necessarily bad or good
                • Cycle - lower is better
                • Mem - @airtex2019 you’ve not mentioned this? RAM usage? VRAM?
                • et al - lower is better

                Interesting how the FPS display for a monitor seems to be different from the FPS display for VR (OpenXR in the case of the above screenshot).

                Basically, I would like to be able to compare screenshots and somewhat understand what’s going on, with emphasis on the VR side of things as I feel that this is where most of the testing will be done going forwards.

                airtex2019A 2 Replies Last reply Reply Quote 0
                • airtex2019A Offline
                  airtex2019 Global Moderator @Atlas
                  last edited by

                  @Atlas when I say “frametime” – it’s not labeled as such – I’m referring to these numbers which are (1000/fps)

                  20442223-46c4-4cca-9ec6-98ff8773eb6d-image.png

                  1 Reply Last reply Reply Quote 1
                  • airtex2019A Offline
                    airtex2019 Global Moderator @Atlas
                    last edited by

                    @Atlas said in Understanding FPS info?:

                    Mem - @airtex2019 you’ve not mentioned this?

                    tbh idk. obvs we use a lot more (RAM and VRAM) than that.

                    probably just the pool-based allocator for the draw commands … I think you see this number go up/down directionally with the number of Cmds

                    AtlasA 1 Reply Last reply Reply Quote 0
                    • airtex2019A airtex2019 has marked this topic as solved on
                    • AtlasA Offline
                      Atlas @airtex2019
                      last edited by

                      @airtex2019
                      I see, thanks! And did I get the basics right about higher/lower being better?

                      airtex2019A 1 Reply Last reply Reply Quote 0
                      • airtex2019A Offline
                        airtex2019 Global Moderator @Atlas
                        last edited by

                        @Atlas
                        frames-per-second => higher is better
                        seconds-per-frame => lower is better

                        they are the same metric – just one is inverse of the other. make sense?

                        AtlasA 1 Reply Last reply Reply Quote 0
                        • AtlasA Offline
                          Atlas @airtex2019
                          last edited by

                          @airtex2019
                          Sorry, which one is “seconds per frame”??

                          airtex2019A 1 Reply Last reply Reply Quote 0
                          • airtex2019A Offline
                            airtex2019 Global Moderator @Atlas
                            last edited by airtex2019

                            @Atlas “ms” means milliseconds – 1/1000th of a second

                            so eg. “24.96 ms” means 0.02496 seconds-per-frame

                            1/0.02496 == 40.1 frames-per-second

                            AtlasA 1 Reply Last reply Reply Quote 0
                            • AtlasA Offline
                              Atlas @airtex2019
                              last edited by

                              @airtex2019
                              Oh, you mean fps vs frametime, yeah, I got that. I thought you were referring to another named metric.

                              Thanks!

                              airtex2019A 1 Reply Last reply Reply Quote 0
                              • airtex2019A Offline
                                airtex2019 Global Moderator @Atlas
                                last edited by

                                I updated my first reply above, to better explain why the top-line FPS metric doesn’t exactly match either Sim or Ren.

                                The top-line FPS metric is not a stopwatch on the Sim or Ren threads – it is a frame-to-frame pace time, the way FrameView/PresentMon and Afterburner/RivaTuner etc all record and report FPS.

                                (In most cases, it should be very close to the Ren thread metric… but it won’t be exactly the same.)

                                POLARIS1P AtlasA 2 Replies Last reply Reply Quote 0
                                • POLARIS1P Offline
                                  POLARIS1 @airtex2019
                                  last edited by

                                  @airtex2019

                                  To simplify all terms and make them usable I would appreciate a simple set of data:
                                  Which set of values for all BMS FPS measured constitutes good, mediocre and low.

                                  1 Reply Last reply Reply Quote 0
                                  • AtlasA Offline
                                    Atlas @airtex2019
                                    last edited by

                                    @airtex2019
                                    So on my VR screenshot, FPS is 45.1, Ren is 59.8
                                    There are quite a few Cmd calls as I’m in the BenchmarkTE on the runway.
                                    The Prsnt, WaitSim, and Res numbers are all low meaning the GPU isn’t really waiting on much.

                                    Any ideas why the Ren is higher than FPS?

                                    @POLARIS1
                                    At the moment, I am really only concentrating on FPS, Sim, and Ren, as well as the ms readings on them. Higher FPS/Sim/Ren is good and this will show up as low ms readings, but what I’m watching out for is no spikes in the ms readings — maybe a habit from DCS and watching how the frametime spikes causes microstutters.

                                    I would be interested if @airtex2019 can highlight any other metrics to pay attention to, especially on the VR screenshot as I’ll be doing tests in VR going forward and interstingly enough, the FPS window in VR has different metrics compared to the 2D one.

                                    @POLARIS1 said in Understanding FPS info?:

                                    Which set of values for all BMS FPS measured constitutes good, mediocre and low.

                                    I guess just for FPS, good will be anything above 30 really, especially since this is the Benchmark TE.
                                    25-30 would be mid, anything below 25 especially if you go below 20 may be considered low.
                                    I’m sure someone would correct me here if I’m wrong. 😵

                                    airtex2019A 1 Reply Last reply Reply Quote 1
                                    • airtex2019A Offline
                                      airtex2019 Global Moderator @Atlas
                                      last edited by

                                      @Atlas said in Understanding FPS info?:

                                      interstingly enough, the FPS window in VR has different metrics compared to the 2D one.

                                      it’s not that interesting … just lack of screen space for the full row - the SimAndOTWCycleAndDeps is a rollup (sum) of all the numbers on the Sim line, except for WaitRen which is the only important one to keep eye on.

                                      Any ideas why the Ren is higher than FPS?

                                      Ren is a “stopwatch” measuring time within a frame – from the start of work to end of work. (Visualize: a car doing a quarter-mile drag strip)

                                      The top-line FPS number is more like a “lap time” clock – measuring time from frame to frame, at the same line of code in the loop. (Visualize: a car doing full laps around a track)

                                      Because of the way the Ren and Sim theads interlock with one another, there can be 1-2 milliseconds of difference between those two metrics… resulting in FPS clock slower than Ren.

                                      The real explanation for that is super technical and has to do with the OS thread-scheduler. And I think this thread may have shined a light on how that can be improved… so, as always, thanks!

                                      AtlasA 1 Reply Last reply Reply Quote 0
                                      • AtlasA Offline
                                        Atlas @airtex2019
                                        last edited by

                                        @airtex2019
                                        I think I need to do a few more laps to wrap my head around this. Just finished taking my baseline screenshots this evening so maybe looking at more numbers will make more sense.

                                        As always, thanks for your input!

                                        1 Reply Last reply Reply Quote 0
                                        • airtex2019A airtex2019 referenced this topic on
                                        • John ConnorJ John Connor referenced this topic on
                                        • First post
                                          Last post

                                        25

                                        Online

                                        9.2k

                                        Users

                                        19.2k

                                        Topics

                                        328.7k

                                        Posts
                                        Benchmark Sims - All rights reserved ©