Three Simple Steps to see if Your 3D Virtual World Scene is a Low-Performance Computer Killer
Have you checked your 3D virtual world scenes on a really low powered machine like a netbook? If not, you may be in for a surprise. Users with low performance machines like netbooks may find a huge performance penalty when they visit your virtual space. In other words… things may look just fine and performance may be “totally ducky” on your machine, yet with a low performance machine your space may be close to unusable.
Isn’t There a Simple “Follow This Rule” Design Guide?
It would be nice if there were simple “follow this rule” guidance that would make design for low performance machines easy. Unfortunately every simple rule I have seen is either incorrect, incomplete, or creates unnecessary compromises.
In other words, simple rules don’t really work well in creating performance optimized builds for a wide range of hardware. Because of the number of variables, testing is the only reasonable way to be sure your build works well with lower performance machines. When there is a build-induced performance issue, the cause is often that one aspect of the scene exceeds the complexity and performance levels low performance machine graphics systems.
A Recent Example of a Surprising Answer
I recently diagnosed a problem in a well known virtual world environment where even mid-level computers were showing 25-50% frame rate reductions, and netbooks showed extreme performance problems with no other avatars present. We found that the grass surrounding the stage was constructed in a way that caused particular problems for low performance computers.
Removing the grasss and replacing it with a different ground cover improved the frame rate on mid-level computers by 25-50% and a netbook by over 100%, all by replacing ONE graphical element in the scene! This illustrates that a single element can have a surprising and large impact on user experience.
A Simple Three Step Test
1) Start in your current build, make sure that everything has “rezzed” (if you know how to check network traffic and bandwidth use, make sure it’s settled to some low number, under 50 kbps before the next step), and note the FPS on both a low end computer (netbook or equivalent) in various scenes, both standing still and walking around.
2) Put up a platform at least 512m, and maybe 1024m higher if you have the height than any other content in your region. The platform should be only one normal sized prim to stand on, with only a plain solid color.
3) Teleport to the platform, and note the FPS on both computers.
If the netbook’s performance is degraded by a much higher percentage on the ground than the other computer, then your build is fairly dense and penalizing performance with low end computers heavily.
There’s a lot more behind this, and diagnosis to find the source of problems on a dense build often takes understanding of graphics hardware and test approaches. This quick test should give you a sense of whether the basic scene will create undue problems for users with limited hardware capabilities, and it will give you a way to tell when you have fixed the problem.
A Brief Shameless Pitch
If you’ve found that your build is creating problems for low performance machines, and cannot figure out what is causing the problem, I would be happy to help out. Finding the source of this sort of problem often fits into a brief “Just One Question” consult. If you’re stumped and want to find a solution let’s get going!