Saturday, December 08, 2007

Now we can talk v9-performance

I think we're reaching the point where I can start looking at version 9 performance in detail. Over the past few betas we've fixed some very general and global performance problems and also some crash bugs. Now we're reaching the point where some users have fast performance and others don't, and it doesn't quite match up to the hardware the way we'd expect.

The biggest single complaint I'm hearing is "pixel shaders slow may machine down". This is expected, but the level of slow-down we're hearing about (2x, 3x, 4x fps loss) is a lot higher than we'd expect.

Here's a very basic test case you can try:
  1. Start with shaders off, no FSAA, 4x anisotropic filtering, and a texture res that doesn't push your card too far ("very high" for 256 MB cards). Tune objects to get between 30-50 fps all the time. Keep forests to "none" for now - they use the second core, so better not to bring in another variable for testing. Measure fps while on the ground somewhere, so that the camera isn't moving around. Pick a view that has no panel at all, like shift-w (forward-no-HUD view). Use the default 747.
  2. Now turn shaders on. Turn water reflection to none, turn volumetric fog off. What's the new fps (keeping the same forward-no-HUd stationary 747)?
  3. Now turn volumetric fog on (water is still "none"). What are the fps now?
  4. Finally turn water reflections to "default". What are these fps?
I'd like to know these four fps numbers because they show the incremental degradation to performance as settings are slowly brought in.

Now if these numbers come out okay, but some real configuration that you tried was terrible, tell me, what's the delta? (For example, did you have FSAA cranked up when you were testing? What was the texture res?) That will tell me the delta between controlled situations and real-world usage cases.

It will probably take me up to a week to get back to performance reports. Best venue right now is probably: send me an email with attachments for your log.txt file. Please don't post performance to the blog comments section, I think the thread will get unreadable.

It's too soon to evaluate whether you need a new video card. I'm hearing reports of GeForce 8800 users with low performance - and yet I have good performance on an X1600. This implies that there's a driver call we make that isn't fast in some cases that we need to replace with something better. Let's get that worked out before you go out shopping!

No comments: