Looking at the SL Performance Improvements Viewer

via Linden Lab

The Performance Improvements Viewer has been the default release viewer from the Lab for the last couple of weeks, and the code is starting to find its way to TPVs. This is a viewer specifically designed by LL to provide a smoother user experience in terms of things like rezzing / rendering times, better FPS.

The viewer represents a lot of work on the part of the Graphics team to improve data handling (including moving various data elements between threads, removing low update processes to their own threads rather than having them stall the main rendering threads, etc., all of which is intended to make the viewer feed more responsive as you move / teleport around SL.

As such, I decided to try a series of basic comparative tests between the Performance Improvements viewer, a version of the official viewer without the code updates and Firestorm (as my TPV of choice at the moment), just to gain a rough indication of how the changes made to the viewer perform. These tests comprised:

  1. Logging-in to my Home location with empty caches, recording the time from clicking the log-in button through to everything loading in my field of view.
  2. Logging-in to my Home location with it locally cached on my hard drive.
  3. Completing a walk around my Home location, recording FPS at the same 9 locations, three times each with Shadows OFF and Shadows ON, and taking an average of all the FPS times recorded.
  4. Teleporting to a busy region (15+ avatars) that is not pre-cached locally (but should be cached at my nearest CDN node(s), given it is a place I visit daily).
  5. Re-teleporting to the same location, now locally cached.
  6. Completing the same walk around the selected location, recording FPS at the same 5 locations, three times each with Shadows OFF and Shadows ON, and taking an average of all the FPS times recorded.

The table below summarises my findings:

Firestorm SL Viewer – No Improvements Code SL Performance Improvements Viewer
Home log-in uncached 42.06 sec 27.94 sec 24.00 sec
Home log-in cached 22.34 sec 21.98 sec 20.00 sec
Home walk – no shadows 25.5 FPS 34.5 FPS 53.57 FPS
Home walk – shadows 17.4 FPS 21.4 FPS 42.8 FPS
Uncached location TP 55:41 sec 49.37 sec 44.27 sec
Cached location TP 46:61 sec 35.03 sec 17.57 sec
TP location – no shadows 28.9 FPS 29.25 FPS 45.54 FPS
TP location – shadows 13.5 FPS 22.8 FPS 38.8 FPS

Obviously, there is always going to be a lot of subjectivity in such tests like these, which are dependent upon factors such as the specs of the system running the viewer(s), what else is running at the same time, Internet connectivity with the SL services and to the nearest CDN node, etc. However, in carrying out the comparisons above, I attempted to achieve something of a common basis by:

  • Using the same settings across the three viewers (e.g. camera and graphics pre-sets; the same RenderVolumeLOD factor; the same attached EEP settings for a consistent environment; the same complexity setting & max no. of non-imposters, etc.) – with the acknowledged caveat that the Performance Improvements viewer would automatically default to Shadows ON for me, based on my system’s capabilities, so needed some adjustment during some tests.
  • Ensuring all tests were carried out back-to-back to minimise extensive changes due to avatars of different complexity coming  / going / moving around.
  • Closing all other apps I had been running on my PC to maximise the available resources available to all of the tests.

In addition, and for completeness (and as requested by Lance in the comments) – here are my system specifications – which are also available in the link on the right column of this blog.

But even while subjective, I think the results tend to speak for themselves, and there is no denying the qualitative frame speed increase with the Performance Improvements viewer, particularly with shadows enabled.

How quickly these updates are adopted by TPVs is down to their release schedules; but for the official viewer, this marks the first major release of updates intended to improve performance that is currently in flight, with the Performance Improvements Floater viewer (which includes the Lab’s take on auto-FPS function functionality similar to that found in Firestorm) currently at product viewer status.

The Performance Improvements viewer can be downloaded via the Viewer Download page, and the release notes are here.

Advertisement

10 thoughts on “Looking at the SL Performance Improvements Viewer

  1. Great job with those numbers but they would be more informative if you posted a few more details:
    – your hardware & OS
    – Screen resolution
    – graphics settings
    – internet connection speed

    Like

    1. Those details are in my system settings page available via the link on the right (“My Viewer Review System Specs”) – but fair point, I’ll add a link to that page as well.

      Like

  2. Looking at the table

    Home log-in cached 22.34 sec 21.98 sec 20.00 sec

    What am I not understanding here?

    Like

    1. When testing, I logged-in to home without anything cached, The Improvements viewer offered much a faster rendering time. However, with my home location cached, there was significantly less off an improvement from the PI viewer compared to the SLV and Firestorm (hence the figures being closer to one another). This also happened with the location I visited when uncached / cached. I assume that is something down to how the viewer is handling the mix of calls to the CDN + ordering and rendering. Frame-rates wise, however, I have a much improved experience across the board.

      Like

      1. Still does not make sense that 22.33s vs 21.98s equates an improvement of 20s.

        That math and a lot of the other rows in that table do not seem to add up, it should be left-right = last column.
        I suppose like the commenter before me I’m missing something here and misinterpret the data.
        Can you thus please elaborate how the last column is calculated?

        Like

        1. As per the notes above the table, the testing involved THREE viewers – Firestorm (“Firestorm”); a version of the SL viewer *without* the Performance Improvements (centre) and the Performance Improvements viewer (on the right). Ergo, the 20:00 is not a time difference between the first two columns, but the timing of the PI Viewer alongside the other two. However, I appreciate the labelling may have ben confusing for the last column, so have expanded it.

          Like

          1. Oh geez, I’m sorry. Yes I totally got that table wrong.
            Thank you very much Inara, for spelling it out for someone slow like me 🙂

            Like

  3. thanks a lot Inara, excellent and very informative post! I got similar findings about FPS through the three viewer mentioned.

    Like

Comments are closed.