1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
Like RaceDepartment on Facebook.

Best/most efficient DDS format?

Discussion in 'Bob's Track Builder' started by Ryan Callan, Mar 18, 2011.

  1. What is the best DDS format for rFactor? I always save in DXT5, ARGB, 8bpp, interpolated alpha with 4 mipmaps.

    Maybe there is a more efficient format and improve FPS perhaps?
  2. I suppose you don't need to save an alpha channel if you're not using one for the particular texture, so DXT1 could be ok for that. I'm not 100% sure but if you use interpolated alpha and then set the material to chroma then the transparancy can wander a bit. That might be nice on trees but not so good if you want precision, like straight edges. I think setting explicit alpha will show up more "true" when using chroma materials on straight edges. I don't have many of my materials set to "alpha" for ingame, so i can't really comment on that. But, maybe what i'm talking about is a symptom of something else. I haven't noticed any "performance" issues between explicit and interpolated, but as i said i usually run with chroma anyway. Anyone else got info?

    As far as file size and efficiency, i think the only real difference is the additional size it takes to include the alpha masks. And generally i run 6 mip-maps, often with a bias between -1 and -3. If that is making ingame tex look blurry then you might not have anisotropic filtering on in the graphics menu (in rF etc). Crank it to 16x, don't worry, it's not nearly as intensive as Anti-Aliasing. It basically adjusts mipmapping to either the x or y axis, for oblique angles like roads and fences. i think there is a thread here, but wiki has info too.
  3. By my experience, it's really the settings of the material which matters in regard to FPS - the main difference between formats are filesize. That beeing said, you should never use other than DX1 unless you really need alpha in your texture, and as woochoo says chroma is fine for straight cuts (window openings, poles, wooden fences and so forth). Chroma is still just a DX1, but with a colour like 255,0,255 (RGB) indicate transperancy.

    DX5 can be used in two ways, either DX5M* or DX5S* (see below). And is mainly usefull, where you need to define the transperancy using gradient or really low values (skidmarks, trees, bushes, grass, dust, smoke... ). The really tricky bit about using DX5M is that DX5M-on-DX5M (several polys behind each other in line of sight with DX5M material assigned) gives you a REALLY! weird effect, it's hard to describe but you'll notice :p A way to prevent this from happening, is to make sure you place polys using DX5S in between DX5M polys, this will prevent the downside-effect but preserve the cool effect of DX5M on say trees - which gives them a fluffy, slightly blurry look.

    DX5M* is short for a DX5-DDS used in a material with the BTB-option "Multiple"
    DX5S* is short for a DX5-DDS used in a material with the BTB-option "Simple"

    About MIPs, the most important thing is to NEVER go overboard - I've noticed some DDS-plugins which just did as you asked, which can go really bad and course CTDs. Each MIP is really just a lower resolution of your main, on each account halfened in both X and Y. Problem occurs, when you set MIP too high, and the plugin tries to make next MIP of res: 0x0 or 0x1 (it should'nt, but some do)

    So here is my MAX amount of MIPs, according to lowest X or Y -res of main texture:
    4096px, 11 MIPs
    2048px, 10 MIPs
    1024px, 9 MIPs
    512px, 8 MIPs
    256px, 7 MIPs

    - and so forth... Proper usage of MIPs, both improve the visual impression AND the FPS - since the GPU will work on lesser pixels. The BIAS is really trial and error - the more negative value, the sharper (and more hires MIP is used for.. ) texture ingame.
  4. Perfect guys :)
  5. thanks Tomas, some cool info in there