=latest update: Aug 25th 2007=
I thought Id start an infomercial on graphics so that we are all on the same page when talking about graphics tweaking. Why this is important? Because when we use WRAPPERs vertical synch mode tied to the monitor's refresh rate (60 or 75hz or whatever); we need to keep our systems in close synch if we want to minimize multiplayer jitter or warping. There are a few contributing factors such as: Game graphics, Monitor, Vcard, wrapper, Windows and its adaptor configuration that make a difference.
BEFORE I GO ON, HERES A LINK TO POSTIVE G'S MOST EXCELLENT SITE ON HOW TO SET UP LB2 FOR WINDOWS SYSTEMS. Link to Positve G\'s LB2 Setup Site
HERES A DISCUSSION ON HOSTING LB2 OVER INTERNET VIA HARDWARE ROUTERS (WIRED AND WIRELESS SOLUTIONS)
"Wired & Wireless Router LB2 Hosting & Client Success.... At Last" Hosting LB2 on internet via routers
HERES A DISCUSSION ON VOICE COMMS OVER TS2 with LB2 "In Game Voice Comms for LB2 mutiplayer"
AND HERE IS A FORUM DISCUSSION OVER GAMEPLAY FEATURES: "Features Of LB2 That You May Have Known About"
Now, back to the discussion on graphics tweaking once you have LB2 running... REFRESH-Rate and FRAMERATE:
The refresh rate is the number of times per second that the RAMDAC is able to send a signal to the monitor and the monitor is able to repaint the screen.
The frame rate of a program refers to how many times per second the graphics engine can calculate a new image and put it into the video memory.
The refresh rate is how often the contents of video memory are sent to the monitor. Frame rate is much more a function of the type of software being used and how well it works with the acceleration capabilities of the video card. It has nothing at all to do with the monitor.
The refresh rate is important because it directly impacts the viewability of the screen image. Refresh rates that are too low cause annoying flicker that can be distracting to the viewer and can cause fatigue and eye strain.
My SONY flat panel refreshes at 60hz. In fact, its the only rate it allows. I must therefore conclude that LB2 is being forced to be refreshed and vertically synched at the monitor refresh rate of 60hz, and not the rate that WinXP default of 75hz.
Can anyone confirm this statement with some authority? I will also look for a refresh (not frame rate) counter. Anyone have a good one to point me to?
Below is an example of a nVidia 6800 tweak tool that allows for both refresh and OverClocking: http://3dgpu.com/archives/2004/08/09/geforce-6800-tweak-guide/
Below is how on an ATI vcard that we can control the resolution and refresh rate, apart from the WinXP default value of 75 hz (or earlier Win to 60hz).
TWEAKs for Refresh and OC - handle with care ATI Tool - refresh and overclocking tweak utility nVidia refresh and oc tweak method
Only what your monitor can handle will actually be attainable. CRTs and LCDs differ by design and hence their refresh rate settings behave differently.CRTs and LCDs:
The main issue with changing the screen resolution on a CRT monitor is that it affects the refresh rate. The refresh rate refers to the number of times that the screen redraws the image every second. Since there is always movement on your screen, the image needs to be redrawn quite often for it to appear that it is in motion.
Typically, the optimal refresh rate for a CRT monitor is 75Hz, meaning that the image is redrawn 75 times every second. The highest you’ll need is 85Hz, and some people can tell the difference between a 75Hz and 85Hz refresh rate. Anything higher than 85Hz generally won’t be noticeable and can also be dangerous to your monitor, as some people have the tendency to push their monitors to refresh rates beyond what they were intended to use. Anything lower than 75Hz and you may notice a flicker of the image as it refreshes.
Too low of a refresh rate is a common occurrence and is often a major case of tired eyes and office fatigue. “Power users” will tell you they will often sit down at other people’s workstations and notice right away that the refresh rate was too low for comfort.
When dealing with LCDs, refresh rate is not much of a concern since they use a different technology to draw the image. Refresh rates as low as 40Hz or 60Hz are perfectly acceptable with LCD monitors.
What is important is the concept of response time – the time in milliseconds it takes for the screen to update the pixel colors. This is a big deal because a slower response time will give the illusion of “ghosting” – the effect of pixels not updating with new information fast enough, so that a trail is left behind a moving object. This usually happens in high action movies or games and is one of the main reasons why LCDs are often not recommended for gamers. This is changing however, as displays with 20ms – which are just fine for gaming - are becoming more prevalent.
Apart from the technical differences between how LCD and CRTs deal with refresh to handle persistance and flicker; the point related to LB2 multiplayer is that when using the REFRESH SYNC method, we must be aware of our refresh rates amoungst players in the same online session. My LCD has two refresh rates: 60 or 70 hz, thats it. My buddy has a monitor that goes from 45 - 125 hz, he normally is set for 85hz. To reduce the amount of lag and jitter while playing online together, we pick one of our common refresh rates (usually the higher one) and we get the best results. WRAPPERS
Wrappers are programs which convert the calls of one graphics API into another. This means you can run LB2 a Glide video game without having a glide graphics card (e.g. 3dfx Voodoo5), but using a Direct3D or OpenGL card (e.g. nVidia GeForce or ATI Radeon) instead. (You still need hardware 3D acceleration of some sort if you want playable speeds!)
Are there any drawbacks to using Wrappers?
You are effectively adding another layer of emulation. There can be problems, such as graphics glitches and increased sound stuttering. In particular, you are likely to always lose some visual effects (usually fog, and more subtle things like certain kinds of dynamic lighting or transparency, for example). None of the wrappers are perfect, but in many games they are close, and more than adequate. With LB2 we see that with the known issues like dancing clouds or lines in the 2D cockpit. Zeckensack\'s Glide Wrapper (To run LB2 in Glide mode) - 1280res limit, has refresh rate control) dgVoodoo Glide Wrapper - (can go greater than 1280 res and has refresh vert sync control)
Heres what I did (with help from this community) that made the dgVD Wrapper work at 1600res:
- d/l the latest dgVoodoo package
- Unzipped its contents into the LB2 folder
- Set the dgVoodooSetup to be like Shadow's:
- Switched LB2Cfg.exe to 3DFX
- Ran the game, with AA and AF turned on also
========== portion of readme_eng.txt======
If you don't want to use this wrapper, or/and you just would like to try
it with a certain game/app, then you can copy the needed files into the
directory of that game/app!
=============================AA/AF/BF/TBM: AntiAliasing & Ansitrophic Filtering & Bilinear Filtering & Trilinear Bitmaps
AA has to do with reducing the jaggies we see on the edges of graphics. Its a technique of blurring pixels. AF has to do with the quality of the patterns we see, so that we dont get interference patterns that close lines might produce.
Bilinear filtering or interpolation is used in computer graphics to reduce "blockiness". In LB2 this would be what smoothes out the 3D world ground tiles to look more blended together.
Tri-linear filtering is combination of bi-linear filtering and mip-mapping which enhances even more the quality of texture mapped polygons. For each polygon that is rendered, the two "MIP maps" that most closely match the polygon size will be used to compute pixel colors that are the most realistic. This technique is superior to both bi-linear and mip-mapping (This reduces rendering artifacts such as "sparkling" and "moiré" patterns as well as blockiness.)
Who can use these advanced 3D techniques? This is a very vcard hardware and driver dependant equation. The nVidia cards appear to be better with AA and AF than the ATI when running LB2 due to the 3dfx and glide bias leans to nVidia's hardware more. Mileage will vary so its hard to pin this down. The common symptoms are: AA causing black 2D cockpit in the Kiowa. Bilinear Filtering causing the HUD symbology to dissapear.
Below is a snap provided by SHADOW using dgVoodoo v1.50b running at 1280x1024@32, 16xSAA and 16xAF LAG and SYNC in LB2 Multiplayer
Multiplayer "lag" (a/c to a/c positional data jitter or micro-warping) has many sources: inet, latency-ping, packet loss, isp, mtu, game-application, OS, refresh, etc...
The ones that we have in view are related to the game dependance on CPU speed.
To deal with these, there are two basic remedial approaches. Both of these methods work to allow multiplayer to work with minimal lag, and to bring the game's world speed closer to what it was intended. Refresh sync is easier to set up, but is only a course sync. CPU sync is harder to get dialed in, but is a fine tune sync method.
If you care about close up flying or sharing cockpits with minimal lag, the CPU sync method is the more stable of the two methods. For all other general flying and combat, the refresh method is fine and easist for most folk to set up, especially when more than 2 players are flying together online.
1. CPU SYNC
Synch different game speeds down to a common speed that is closer to the CPU clock rate that the game was designed for (200Mhz-750mhz)via CPU slow down utilities. This method controls synching by CPU clock rate tweaking.
2. REFRESH SYNC
Synch the game by video card vertical synch rate control. By limiting the graphics card to only refresh at 60 hz, it makes the game frame rate tied to an external and common control index. This method controls synching by video card refresh rate.
My testing shows that the refresh method is a good course sync method that works for most CPU speeds with no fiddling with CPU speed matching.
The refresh method has a symptom of when getting formation close to AI or another player, once a second you will see a small jitter and when very close the other a/c will dissapear. I believe this had to do with the blank portion of the refresh cycle. When sharing the same a/c as Pilot/CPG, you see a definite micro-pause/warp every second for a short duration.
The CPU method is the fine sync method that can fine tune the systems so that warp and jitter is minimal to even unnoticible. This method is the most precise and does not suffer from the winking out of the other player or AI when very close up. The negative is that it requires experimentation to get two or more systems in lock sync from a CPU speed perspective. For example, two 2.4GHZ systems slowed to 35% of normal, are almost perfectly in lock sync with very little jitter even when sharing the same a/c. I recommend turning off the refresh rate tied to monitor option in the wrappers when using this CPU sync method, rather use a slow down proggy like TURBO.
When the processor is HyperThreaded, the control is less effective due to the nature of what HT was meant to do. HT can be disabled via the BIOS.
Using the DGVOODOO glide wrapper along with its monitor refresh feature, no CPU throttling
is needed on WinXPsp2 and Vista32. This wrapper will synch the game world speed to the
monitor refresh rate which is now CPU independant. Ive also found that if online players
also set their monitors/flatpanels refresh to the same frequency (60/70/85 etc) that this
minimizes the: jitter, close up dissapearing, and CPG to Pilot update jitter that happens
when connected together online. The other factors of course are connectivity quality
and whats configured and running concurrently on the PC itself.
As a final note, with systems with 2 or more GB of real memory (RAM) the tricks to fake out
Windows via the MS compatibility tool kit using the memory lie feature are no longer needed.
Im running LB2 on both laptops and desktops with 2Gigs plus run LB2 without any tricks, just
the wrapper and for Vista, setting the desktop icon to WinXP compatibility mode.
Retro-Rotor simming has a rampup learning curve to address the many requirements to make an older game work on newer technology. Hopefully this answers more questions than it creates.