Tobold's Blog
Wednesday, April 11, 2007
 
WoW at 150 fps

When I installed World of Warcraft on my brand new E6600 Intel core 2 duo, Geforce 8800 GTS computer, I was a bit disappointed of it showing a framerate of only 85 fps at 1600 x 1200 resolution with all graphics settings maxed out. After playing for some time and noticing that these 85 fps were pretty constant, and not fluctuating with what I saw on the screen as expected, I realized that I just had set the options wrong. "Vertical Sync" was checked, thus the framerate couldn't go faster than the screen refresh rate of 85 Hertz. Doh! I unchecked it and now the framerate is displayed at up to 150 fps.

Which of course is stupid. With the screen being refreshed only 85 times per second, having more than 85 fps simply does nothing. And World of Warcraft plays perfectly smoothly at half that framerate. Playing WoW at 150 fps is unnecessary overkill, and I just measure the framerate for bragging purposes.

But setting the Vertical Sync wrong, after years of experience with PC games, makes me wonder how many people actually understand all these setting you can find in a typical PC games video settings. Vertical sync, trilinear filtering, anisotropic filtering, mipmaps, vertex shaders, what does it all mean? Why does it feel as if I need a degree in computer engineering just to set the graphics settings for a game? I'd rather have an auto-detect routine that selects all this stuff automatically in function of the framerate.
Comments:
I believe Vanguard has the feature you want build right into the interface. You go to video options, click on optimize video, and in about 30 sec, you are running the game at the recommended settings for your comp. But then, your not playing Vanguard :P
 
How about a simple slider, with Max graphics at the top, and Min graphics at the bottom?
 
lotro has this as well....

Hobbits rule!
Geronimo Caduff
 
Most games have this auto-detect feature. Personally I became very involved in what each option does when I was playing counterstrike, half-life and and other FPS games. With the half-life 2 engine it does have an auto-detect feature but it never gives you the most optimized settings.

All the auto-detect features do is read what your hardware is and then adjust the graphic load based on what the developer thinks, or has tested to be the optimum settings. Most of this is based off of your video card......

To get the best graphics per frame rate I'd just suggest playing around for 10 minutes, turn things on and off, make sure to be in the middle of iron forge. WoW runs silky smooth on my amd 4800 w/ a 7900 gt and 2 gig ram.....constant 60fps. That is my refresh rate, and it does drop below that, but not often enough, with no noticable loss atleast. I have maxed out setting....

on my old machine it took me a while to tweak, I ended up with about 40 consistant fps after lowering and raising the gfx.....

also Don Imus is wiz at this stuff, we should call up his show and ask him.....
 
True that lotro has a pretty functional 'auto-adjust', but if you are playing (like me) on something unorthodox like a laptop, you are still much better off tweaking it yourself!

I shudder to think to think that there will be a day when I can't do this kind of fiddling and just have to take what someone else decided was the best compromise...
 
Planetside was the best at this. You could set a target framerate and the game would auto-adjust settings to achieve it.
 
Dang.

"Vertical sync, trilinear filtering, anisotropic filtering, mipmaps, vertex shaders, what does it all mean?"

I was actually hoping you'd explain the above. My method with Wow is to twiddle the sliders until things look pretty and the refresh rate isn't too bad. Knowing what the above meant might make for more intelligent twiddling
 
Tobold - if your computer is fast enough to consistently deliver a framerate faster than the screen refresh rate (as your alienware beast clearly is) then I strongly recommend you enable vertical sync for the best gaming experience. If you do not then your system effectively has 2 asynchronous refresh rates and these can interact in strange ways giving rise to a phenomenon called tearing. I find tearing most noticeable on stairs where diagonal fault lines can momentarily appear - very annoying when you notice it. Vertical sync is also a very good idea if you are prone to getting headaches from 3D games as it stabilises the screen refresh rate. Of course if the graphics card is not fast enough then enabling vertical sync will lock you into an integer divisor of the screen refresh rate (1/2 or 1/3 and so on) and you can very quickly find yourself in jerkovision territory.
 
All I know about those settings is that when I turn them off, my game goes faster, but looks crummy. >.<
 
I followed a guide that suggested I knock Terrain to two notches from the bottom, Death Effect off, Full Screen glow off. I have an older rig (AMD 2300, 2 GB RAM, ATI 9600), and could use the help. Shattrath City is intolerable.
 
@ nibuca:

Vertical sync, trilinear filtering, anisotropic filtering, mipmaps, vertex shaders, what does it all mean?"

I was actually hoping you'd explain the above


Vertical sync - This is basically how fast your monitor refreshes thr screen. With this option enabled your frame rate wont go above your system selected refresh rate...the only difference you will see is smoother jagged lines.......

trilinear filtering, anisotropic filtering - These are both ways to smooth jagged lines...with anisotropic filtering you usually have options such as 2x, 4x...up to 16x I think...thats how many times the imagine is "smoothed" out...you will notice less pixellation but may notice a huge drop in frame rate if you have an older video card that didn't fully support this.

mipmaps, vertex shaders - These are basically software tools to make lighting...or shading look more realistic. With a really old video card you might benifit from turning shaders off, but with anything with the past couple years it shouldn't impact your frame rate at all.
 
I think games should get rid of text menus for setting graphic options. It should work like going to an optometrist "which is better, this or this" instead of a checkbox for "multiperspective tri-mesh 4D lumen shaders". Can it really be so hard to have two views up side by side that show the difference a setting makes?
 
I think the easiest way to do a dynamic system is to look at the framerate and adjust. As another poster mentioned, Planetside does this. Someone wrote a plug-in for Morrowind that adjusted the view distance by framerate, and it worked very well inspite of only adjusting one variable.

The disadvantage is that some people might be annoyed by different things. I really despise choppy textures, obvious LoD, and visible mipmap lines, so I tend to turn all the texture settings/distances all the way up. But I don't care much about other things, like shadows or FSAA. Another player might want high-quality shadows, but not care about texture quality, etc. It's hard to come up with a setting that pleases everyone.

As a game developer, even if I haven't done any actual graphics programming in years, I have a rough idea of what all those things are. I will try to explain some of them, but I could be wrong.

Vertical Sync or vsync has nothing to do with smoothing jagged lines. Not having vertical sync can cause tearing with fast motion or low framerates when two frames don't line up, but that's not the same thing. Vertical sync just means that the video card won't start sending the data for the next frame until the monitor starts a new frame. Generally, I'd recommend leaving this on.

Anti-aliasing is someting that removes jagged lines. In terms of performance, full-screen anti-aliasing (FSAA) is similar to increasing the screen resolution. Some games look better (or their UI doesn't scale right...) with FSAA and a lower resolution. Some games look better at 2048x1536 and no FSAA. I tend to play around with the resolution and FSAA settings until I get something I like. Using any FSAA at very high resolutions is a guaranteed framerate killer, even on high-end gaming machines.

Mipmapping is just using more than one texture size. A mipmapped texture might be composed of a 512x512 texture, a 256x256 texture, a 128x128 texture, etc. The largest one that will fit is then stretched to the proper size. As an object gets closer to the camera, the object is rendered with higher resolutions of the texture. Mipmapping increases performance in most cases.

Alas, mipmapping without any texture filtering can look very odd. You will see obvious changes when a polygon goes from one mipmap level to another. You can sometimes see "mipmap lines" at various distances on the terrain in 3D games where there's a transition from one mipmap level to another.

Texture filtering settings (trilinear, anisotropy, etc) are just different ways to smoothly transition from one mipmap level to another and stretch textures without too much bluring or striping.

Bilinear is the worst quality setting. It's more or less "free" in terms of performance. Bilinear filtering samples the colors of 4 pixels "up, down, left, and right" on the current mipmap to get the final color of each texel on the screen.

Trilinear filtering does the same, but it uses a weighted average of two mipmap levels ("up, down, left, and right" samples from each level) to get the final color. This tends to smooth out transitions from one mipmap level close to the camera. But it's slower since it's sampling twice as many points. In some engines this setting increases texture swapping or video memory used since more than one mipmap level has to be in memory. And there are still obvious blurs and mipmap lines at extreme angles and with the lower mipmap resolutions.

Anisotropic filtering is a bit more difficult to explain. It doesn't sample the four pixels "up, down, left, and right" but is more selective based on the view angle. It samples more pixels in the direction of any "stretch" on the texture. This is the slowest method, but it has much higher quality in some cases than trilinear. Close to the camera or at reasonable angles, trilinear and anisotropic look about the same. Note that even if you turn on anisotropy, video cards drivers often only selectively apply this filtering to parts of the scene. Without that selective application, it would be an even larger performance hit.
 
Dang.

"Vertical sync, trilinear filtering, anisotropic filtering, mipmaps, vertex shaders, what does it all mean?"

I was actually hoping you'd explain the above.


Naaaaah, I leave that to my more knowledgeable readers. Thanks all, especially AFFA, for the detailed explanations.
 
Shortly after getting my new PC I found nHancer. This is a great little application that not only allows setting of nVidia game profiles but has great explanations of what each setting means.
 
WoW worked on my old pentium 3 550 mhz pc with 256 ram.

Guild wars has a auto detect that works well also.
 
Great post, thank you for explaing all that. I recently upgraded from 8600GT SLI to 9800GT SLI, and am not getting the performance I expected. The only game I play is WoW, and I am in as another poster put in,."Jerkovision", with fluctuating frame rates. It is driving me nuckin futs.
Runing:
AMD 2.6 Ghz 5200+ 64 x2
Fatal1ty AN9 32X mobo
2GB RAM Corsair DDR2 800
Dual PNY GeForce9800GT (SLI mode)
Cooler Master 650W /w 3 12V 19A rails.
 
Post a Comment

<< Home
Newer›  ‹Older

  Powered by Blogger   Free Page Rank Tool