Tuesday, 25 September 2012

A second look Inside the Second – the effect of lowering load

Inside the second – the effect of lowering load

After yesterday’s revealing look at SLI frametime delivery in BF3: AK, today we are taking a look at what effect lowering settings has. In theory, with reduced detail, the problem should be minimised. The reason for this is that even in those difficult to render frames, the load on the GPU will be lessened, and we should see fewer frames that take 33.33ms or more to render. It certainly feels smoother when playing (though the drop off in visual fidelity is stark)

So let’s have a look at another 120 second run of Bandar Desert. Same test setup, except this time in medium detail.

During the 120 second run 7155 frames rendered – so an average of 59.62fps. Even with a quick glance at the graph we can see far less spikes into 50ms territory – and indeed only 3 points where the time to render rises above 40ms. To break it down, we have 338 frames that took more than 25ms to render, 90 frames that took over 30ms to render, 11 frames that took over 35ms to render, and only 3 frames that took over 40ms to render.

Side by side we can clearly see the difference in the fluidity of the games at medium and high levels of detail. Let’s not forget that both these run at an average of ~60fps.

Of particular importance are those frames that take over 35ms to complete – equivalent to below 30fps (28.57 to be exact). At high we have 120 of them – coincidentally an average of 1 per second, but at medium details this number drops drastically to just 11, and the number of +40ms frames accounts for just 0.04% of all frames rendered, instead of over 1% at high detail.

It’s a conclusion, but not one that we really like. If you are someone playing BF3 at 60fps, but with the niggling feeling that the game doesn’t feel as smooth as it should be, you need to run the frametime bench on FRAPs and check your frametimes. Though the results might be somewhat shocking, you might decide, like me, that it’s time for an upgrade. Every cloud has a silver lining.

A quick guide to Frametime testing using FRAPS

  1. Download the Free version of FRAPS
  2.  Load it up, click on the FPS tab.
  3.  Tick the ‘Frametimes’ box
  4. Load up your game/benchmark and hit the record button. The frame counter in the corner should disappear.
  5.   When it reappears your benchmark has completed.
  6.  Locate the word file – usually titled with the date and time of the recording and the word ‘frametimes’
  7.  Paste this into an excel spreadsheet. You should have two columns here, frame number and frametime.
  8. Create a third column and title it ‘time to render’ or another name of your choosing
  9.  Select the first free cell (2C usually) below ‘time to render’ and place (=3B-2B). What you are doing here is taking the rendering time of the second frame, and removing the rendering time of the second frame to give you the difference between the two. (Rendering time is a linear scaling number that is a record of the time in a benchmark a frame is rendered. Time to render is the time difference between one frame being rendered and the next)
  10. You should then have a list of numbers that indicate your ‘time to render’

No comments:

Post a Comment