Jump to content
The simFlight Network Forums

On explicit mip mapping - wizzards please read and comment


Burkhard
 Share

Recommended Posts

I want to start a little discusiion here, everybody who has an idea of this please comment. Background are the two observations one can make with FS9: Blurries and Stutters.

Blurries, displaying the aircrafts unsharp, appear whenever the fibre system in FS9 is not able to replace the smaller mip by a larger one when required-these are given low priority as it seems. On some systems setting DXTn=0 helps against this, on others not. Some systems show blurries whenever textures are mip mapped. In addition, it seems that the video adapter ( at least if texture buffer is full?) only keep the actual mip map - every time they need another mip they go back to disk and load the texture file to get the next suitable mip. On a large airport with dozens of moving and maybe hundred or more sleeping aircrafts and a moving observer, all the time aircrafts change from one mip to the other, keeping loading from disk permament.

Looking into what others do, there are two strategies.

a) Remove mip maps from the textures. This helps with the bluries and reduces the texture size by 25%, making the I/O faster. Backdraw is that, depending on the adapter, framerate goes down.

b) Change the texture format from DXT3 to DXT1. This reduces the texture size by another 50%, slightly reduces the quality, disables any reflections, slightly increase the frame rate. On models created with Makemdl 8.0 for FS2002, AI aircrafts only switch on the cabin windows on the runway, not during taxi? Anybody knows more about these details?

Earlier versions of MyTraffic used DXT1 textures with 512x512 resolution throughout only, so 8 times smaller then the DXT3 1024x1024. Migration of many of them was the wish of many users for better resolution, and the much larger number and speed of vertex shaders on modern grafics adapters allow for this factor. It looks like the capacity to transport these from disk to the adapter has not scaled the same way.

Is this a problem specific to MyTRaffic. Reading from other sides, it looks like no, everybody is fighting this, and I made the following test.

I filled KEWR all parkings with 20 different paints of the MT737-200 with large textures. I achive a frame rate of 11.5 FPS on my PIV/Intel system. Fast turn of the observer lead to smooth fps, some of the aircraft are gray, and in the frame they all get colored one frame is missing, giving this small stutter.

Now I repeated with 20 different paints of the AIA Aardvark B737-800, exactly the same schedules. These are known to be the best AI aircraft around. Framerate is 4.5 fps when making the fast turns, framerate goes down below 2 fps - it looks still smooth, if 2 fps can be called smooth.

So my conclusion is that the stuttering effect is a combination of the high framerates the MT aircrafts achieve, making a missing 100msec feelable, and the large resolution textures, plus the mip mapping overhead.

The new 732 I distrinbuted with the paint kit therefore tests the validity of a new concept I call expilicit mip mapping.

The texture used for the Near LODs is a 1024x1024 not mip mapped one, to achieve the high resolution. The LOD_50 models and and all smaller ones use another texture, which is directly direved from the large one by reducing to 128x128 pixel - so it is a few KB texture only. Most of the aircrafts on an airport are so small on screen that that is sufficient.

So, the blurries and hopefully the stutters can be fighted to the maximal extend, without making the models so slow that you do not feel the stutter - and hopefully with maintaining the large textures for near models.

Link to comment
Share on other sites

  • 2 weeks later...

A few comments, based on my observations.

Looking into what others do, there are two strategies.

a) Remove mip maps from the textures. This helps with the bluries and reduces the texture size by 25%, making the I/O faster. Backdraw is that, depending on the adapter, framerate goes down.

I tested this in FS2002, and removing Mips actually increased the framerate. At first this seems illogical, since most people think of Mips as "LOD's for textures". I talked to a former nvidia engineer about this, and his explanation was that Mips were developed as a way of combatting shimmering/flashing textures on models in the distance, not as a way of increasing framerate. They actually decrease framerate because the slightly larger texture size clogs up your video card memory. At least that's what I was told, and when I tested it, it seemed to be true.

On models created with Makemdl 8.0 for FS2002, AI aircrafts only switch on the cabin windows on the runway, not during taxi? Anybody knows more about these details?

I'm still using the fs2002 makemdl (the fs2004 version introduced a limit on the number of rotation key frames that could be used and still use 'optomize' when compiling) and my aircraft turn the cabin lights on when they start taxiing. I think the problem you're having is caused by the lightmap lacking an alpha channel, or having an all white alpha channel. FS2004 uses the alpha channel as a way of turning the landing lights (the beams on the fuselage) part of the lightmap 'off' until the plane rolls onto the runway. FS2002 used lightmap alpha channels in the same way, but only UI aircraft utilized it, AI aircraft ignored the lightmap alpha channel. So, when FS2004 was released, all the aia FS2002 aircraft had to get new lightmaps that included an alpha channel.

If I understand what you're calling "explicit mip mapping" correctly, you're making 2 textures, the "normal" 1024x1024 texture, and then another separate smaller texture that is simply a reduced size version of the 1024 texture. And then you're mapping the more distant LOD's with that smaller texture. I tried this with FS2002 (I think) and didn't get any improvement worth mentioning, but maybe things have changed in fs2004. I was trying it as a way to get rid of the sparkling/crawling textures on the far away models.

I'm surprised at your framerate results using the MT 737-200. If I recall correctly this is the v1 pai 737-200 and it had quite poor poly counts. If the new texturing you're using is improving the fps that much, that is amazing. Did you by chance do the same test using the MT 737-200 with a "normal" texure? Or the aia 737-800 using your new texture method? I would be curious to see the results.

David R

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.