I would like to improve graphics even more...

Is there something we can "hack" to improve something in game graphics.
Planetary textures, lighting, shadows, anything?
I am not saying something is bad.. No.. But... I want maximum deepth! :)
 

rootsrat

Volunteer Moderator
You can do some manual edits in the config files in ...\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics\GraphicsConfigurationOverride.xml file. This will overwrite any settings you have set in the UI (which are written into a different file).

Example:

<Planets>
<Ultra>
<LocalisationName>$QUALITY_ULTRA;</LocalisationName>
<TextureSize>4096</TextureSize>
</Ultra>
</Planets>

This will set planetary textures to higher quality.

<GalaxyBackground>
<High>
<LocalisationName>$QUALITY_HIGH;</LocalisationName>
<TextureSize>4096</TextureSize>
</High>
</GalaxyBackground>

will set the Milky Way texture to look better etc.

Additionally, you can use ReShade to load up some custom shaders with the game and then edit those shaders to improve the graphics to your liking. I use it to somewhat fix the (still broken!, despite marked as "fixed" :( ) Gamma in the game.
 
What I've been doing with shadows: https://forums.frontier.co.uk/threads/shadow-quality.587551/

And if you want more examples of GraphicsConfigurationOverride.xml changes, this is what I'm personally using:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <GlareCompensation>1.25</GlareCompensation>
    </HDRNode_Reference>
    <SpotShadows_Ultra>
        <CacheShadowAtlasSize>16384</CacheShadowAtlasSize>
        <CacheShadowSize>2048</CacheShadowSize>
        <SpotFilterQuality>3</SpotFilterQuality>
        <EVSMSpotFullRes>false</EVSMSpotFullRes>
    </SpotShadows_Ultra>
    <Planets>
        <Ultra>
            <TextureSize>8192</TextureSize>
            <AtmosphereSteps>7</AtmosphereSteps>
            <WorkPerFrame>512</WorkPerFrame>
        </Ultra>
    </Planets>
    <GalaxyBackground>
        <High>
            <TextureSize>4096</TextureSize>
        </High>
    </GalaxyBackground>
    <Bloom>
        <Ultra>
            <GlareScale>0.0225</GlareScale>
            <FilterRadius>1.0</FilterRadius>
            <FilterRadiusWide>3.5</FilterRadiusWide>
        </Ultra>
    </Bloom>
    <Envmap>
        <High>
            <TextureSize>1024</TextureSize>
            <NumMips>10</NumMips>
        </High>
    </Envmap>
    <GalaxyMap>
        <High>
            <HighResNebulasCount>3</HighResNebulasCount>
            <LowResNebulaDimensions>256</LowResNebulaDimensions>
            <HighResNebulaDimensions>1024</HighResNebulaDimensions>
            <LowResSamplesCount>64</LowResSamplesCount>
            <HighResSamplesCount>112</HighResSamplesCount>
            <MilkyWayInstancesCount>64000</MilkyWayInstancesCount>
            <MilkywayInstancesBrightness>1.0</MilkywayInstancesBrightness>
            <MilkywayInstancesSize>0.25</MilkywayInstancesSize>
            <StarInstanceCount>12000</StarInstanceCount>
        </High>
    </GalaxyMap>
    <Debris>
        <High>
            <DebrisLimit>2000</DebrisLimit>
        </High>
    </Debris>
    <Terrain>
        <UltraPlus>
            <BlendTargetsResolution>2048</BlendTargetsResolution>
            <WindVectorFieldResolution>2048</WindVectorFieldResolution>
        </UltraPlus>
    </Terrain>
    <Volumetrics>
        <Ultra>
            <DownscalingFactor>1.5</DownscalingFactor>
            <BlurSamples>3</BlurSamples>
        </Ultra>
    </Volumetrics>
</GraphicsConfig>

Probably not a good idea to just copypasta that, unless you have a rather high-end GPU. It's just a point of reference.

Most vairables from the main GraphicsConfiguration.xml can be modified in the override, but there are a few exceptions. For example, my shadow profiles add three frustums past what exists on any default preset, so the override is not a suitable place for them.
 
Last edited:

rootsrat

Volunteer Moderator
What I've been doing with shadows: https://forums.frontier.co.uk/threads/shadow-quality.587551/

And if you want more examples of GraphicsConfigurationOverride.xml changes, this is what I'm personally using:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <GlareCompensation>1.25</GlareCompensation>
    </HDRNode_Reference>
    <SpotShadows_Low>
        <CacheShadowAtlasSize>16384</CacheShadowAtlasSize>
        <CacheShadowSize>2048</CacheShadowSize>
        <SpotFilterQuality>3</SpotFilterQuality>
        <EVSMSpotFullRes>false</EVSMSpotFullRes>
    </SpotShadows_Low>
    <Planets>
        <Ultra>
            <TextureSize>8192</TextureSize>
            <AtmosphereSteps>7</AtmosphereSteps>
            <WorkPerFrame>512</WorkPerFrame>
        </Ultra>
    </Planets>
    <GalaxyBackground>
        <High>
            <TextureSize>4096</TextureSize>
        </High>
    </GalaxyBackground>
    <Bloom>
        <Ultra>
            <GlareScale>0.0225</GlareScale>
            <FilterRadius>1.0</FilterRadius>
            <FilterRadiusWide>3.5</FilterRadiusWide>
        </Ultra>
    </Bloom>
    <Envmap>
        <High>
            <TextureSize>1024</TextureSize>
            <NumMips>10</NumMips>
        </High>
    </Envmap>
    <GalaxyMap>
        <High>
            <HighResNebulasCount>3</HighResNebulasCount>
            <LowResNebulaDimensions>256</LowResNebulaDimensions>
            <HighResNebulaDimensions>1024</HighResNebulaDimensions>
            <LowResSamplesCount>64</LowResSamplesCount>
            <HighResSamplesCount>112</HighResSamplesCount>
            <MilkyWayInstancesCount>64000</MilkyWayInstancesCount>
            <MilkywayInstancesBrightness>1.0</MilkywayInstancesBrightness>
            <MilkywayInstancesSize>0.25</MilkywayInstancesSize>
            <StarInstanceCount>12000</StarInstanceCount>
        </High>
    </GalaxyMap>
    <Debris>
        <High>
            <DebrisLimit>2000</DebrisLimit>
        </High>
    </Debris>
    <Terrain>
        <UltraPlus>
            <BlendTargetsResolution>2048</BlendTargetsResolution>
            <WindVectorFieldResolution>2048</WindVectorFieldResolution>
        </UltraPlus>
    </Terrain>
    <Volumetrics>
        <Ultra>
            <DownscalingFactor>1.5</DownscalingFactor>
            <BlurSamples>3</BlurSamples>
        </Ultra>
    </Volumetrics>
</GraphicsConfig>

Probably not a good idea to just copypasta that, unless you have a rather high-end GPU. It's just a point of reference.

Most vairables from the main GraphicsConfiguration.xml can be modified in the override, but there are a few exceptions. For example, my shadow profiles add three frustums past what exists on any default preset, so the override is not a suitable place for them.
Thanks for sharing mate!

I still have mine from pre-Odyssey era and was going to cross reference it with the Ody original XML to see if there is anything new. Do you know about any comprehensive guide for these actually? I am familiar with some of the stuff, some is self explanatory, but I could use some expert guidance.
 
Do you know about any comprehensive guide for these actually? I am familiar with some of the stuff, some is self explanatory, but I could use some expert guidance.

I don't know of one anywhere, and haven't written one from my notes myself, but I have some familiarity with most of the settings, if you have a specific question.

Significantly boosting all nebula parameters make jump times... "interesting" around Barnard's Loop, I can relate... :7

This is heavily dependent on the GPU involved.

My 1080 Ti had issues with galaxy map resolutions past 3328, but my 6800 XT (possibly due to having more than thirty times the cache) is largely immune.

Examples on my 1080 Ti:
Source: https://www.youtube.com/watch?v=gKuVyKaodj0


Source: https://www.youtube.com/watch?v=D5MwnOng838


The 6800 XT, with the settings posted above, is pretty much at the jump time floor (~38 seconds per jump, assuming no networking hangups).
 
What I've been doing with shadows: https://forums.frontier.co.uk/threads/shadow-quality.587551/

And if you want more examples of GraphicsConfigurationOverride.xml changes, this is what I'm personally using:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <GlareCompensation>1.25</GlareCompensation>
    </HDRNode_Reference>
    <SpotShadows_Low>
        <CacheShadowAtlasSize>16384</CacheShadowAtlasSize>
        <CacheShadowSize>2048</CacheShadowSize>
        <SpotFilterQuality>3</SpotFilterQuality>
        <EVSMSpotFullRes>false</EVSMSpotFullRes>
    </SpotShadows_Low>
    <Planets>
        <Ultra>
            <TextureSize>8192</TextureSize>
            <AtmosphereSteps>7</AtmosphereSteps>
            <WorkPerFrame>512</WorkPerFrame>
        </Ultra>
    </Planets>
    <GalaxyBackground>
        <High>
            <TextureSize>4096</TextureSize>
        </High>
    </GalaxyBackground>
    <Bloom>
        <Ultra>
            <GlareScale>0.0225</GlareScale>
            <FilterRadius>1.0</FilterRadius>
            <FilterRadiusWide>3.5</FilterRadiusWide>
        </Ultra>
    </Bloom>
    <Envmap>
        <High>
            <TextureSize>1024</TextureSize>
            <NumMips>10</NumMips>
        </High>
    </Envmap>
    <GalaxyMap>
        <High>
            <HighResNebulasCount>3</HighResNebulasCount>
            <LowResNebulaDimensions>256</LowResNebulaDimensions>
            <HighResNebulaDimensions>1024</HighResNebulaDimensions>
            <LowResSamplesCount>64</LowResSamplesCount>
            <HighResSamplesCount>112</HighResSamplesCount>
            <MilkyWayInstancesCount>64000</MilkyWayInstancesCount>
            <MilkywayInstancesBrightness>1.0</MilkywayInstancesBrightness>
            <MilkywayInstancesSize>0.25</MilkywayInstancesSize>
            <StarInstanceCount>12000</StarInstanceCount>
        </High>
    </GalaxyMap>
    <Debris>
        <High>
            <DebrisLimit>2000</DebrisLimit>
        </High>
    </Debris>
    <Terrain>
        <UltraPlus>
            <BlendTargetsResolution>2048</BlendTargetsResolution>
            <WindVectorFieldResolution>2048</WindVectorFieldResolution>
        </UltraPlus>
    </Terrain>
    <Volumetrics>
        <Ultra>
            <DownscalingFactor>1.5</DownscalingFactor>
            <BlurSamples>3</BlurSamples>
        </Ultra>
    </Volumetrics>
</GraphicsConfig>

Probably not a good idea to just copypasta that, unless you have a rather high-end GPU. It's just a point of reference.

Most vairables from the main GraphicsConfiguration.xml can be modified in the override, but there are a few exceptions. For example, my shadow profiles add three frustums past what exists on any default preset, so the override is not a suitable place for them.
Thanks for sharing this, I really appreciate it. Just curious which 6xxx series GPU are you running? Nevermind, you wrote it while I was writing my post.
I have a 6800XT with Ryzen 7 5800X + 32 GB RAM.
I mean I can still experiment but I'd rather have some tested settings :)
 
Thanks for sharing this, I really appreciate it. Just curious which 6xxx series GPU are you running? Nevermind, you wrote it while I was writing my post.
I have a 6800XT with Ryzen 7 5800X + 32 GB RAM.
I mean I can still experiment but I'd rather have some tested settings :)

Keep in mind that those spot shadow settings replace the Low preset and were originally intended to be paired with the directional shadows in my custom tables.
 
What I've been doing with shadows: https://forums.frontier.co.uk/threads/shadow-quality.587551/

And if you want more examples of GraphicsConfigurationOverride.xml changes, this is what I'm personally using:
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <HDRNode_Reference>
        <GlareCompensation>1.25</GlareCompensation>
    </HDRNode_Reference>
    <SpotShadows_Low>
        <CacheShadowAtlasSize>16384</CacheShadowAtlasSize>
        <CacheShadowSize>2048</CacheShadowSize>
        <SpotFilterQuality>3</SpotFilterQuality>
        <EVSMSpotFullRes>false</EVSMSpotFullRes>
    </SpotShadows_Low>
    <Planets>
        <Ultra>
            <TextureSize>8192</TextureSize>
            <AtmosphereSteps>7</AtmosphereSteps>
            <WorkPerFrame>512</WorkPerFrame>
        </Ultra>
    </Planets>
    <GalaxyBackground>
        <High>
            <TextureSize>4096</TextureSize>
        </High>
    </GalaxyBackground>
    <Bloom>
        <Ultra>
            <GlareScale>0.0225</GlareScale>
            <FilterRadius>1.0</FilterRadius>
            <FilterRadiusWide>3.5</FilterRadiusWide>
        </Ultra>
    </Bloom>
    <Envmap>
        <High>
            <TextureSize>1024</TextureSize>
            <NumMips>10</NumMips>
        </High>
    </Envmap>
    <GalaxyMap>
        <High>
            <HighResNebulasCount>3</HighResNebulasCount>
            <LowResNebulaDimensions>256</LowResNebulaDimensions>
            <HighResNebulaDimensions>1024</HighResNebulaDimensions>
            <LowResSamplesCount>64</LowResSamplesCount>
            <HighResSamplesCount>112</HighResSamplesCount>
            <MilkyWayInstancesCount>64000</MilkyWayInstancesCount>
            <MilkywayInstancesBrightness>1.0</MilkywayInstancesBrightness>
            <MilkywayInstancesSize>0.25</MilkywayInstancesSize>
            <StarInstanceCount>12000</StarInstanceCount>
        </High>
    </GalaxyMap>
    <Debris>
        <High>
            <DebrisLimit>2000</DebrisLimit>
        </High>
    </Debris>
    <Terrain>
        <UltraPlus>
            <BlendTargetsResolution>2048</BlendTargetsResolution>
            <WindVectorFieldResolution>2048</WindVectorFieldResolution>
        </UltraPlus>
    </Terrain>
    <Volumetrics>
        <Ultra>
            <DownscalingFactor>1.5</DownscalingFactor>
            <BlurSamples>3</BlurSamples>
        </Ultra>
    </Volumetrics>
</GraphicsConfig>

Probably not a good idea to just copypasta that, unless you have a rather high-end GPU. It's just a point of reference.

Most vairables from the main GraphicsConfiguration.xml can be modified in the override, but there are a few exceptions. For example, my shadow profiles add three frustums past what exists on any default preset, so the override is not a suitable place for them.
I have a opposite question.
How do I turn shadows off ?
 
...My 1080 Ti had issues with galaxy map resolutions past 3328, but my 6800 XT (possibly due to having more than thirty times the cache) is largely immune...
Good to hear... Here's hoping the upcoming generation of cards will turn out plenty in supply and fair in price... :7

There are quite a few nebulas crammed into a small volume at the loop though... :7
 
I have a opposite question.
How do I turn shadows off ?

Reference this thread: https://forums.frontier.co.uk/threa...-disable-shadows-5-to-10-fps-increase.599549/

There are quite a few nebulas crammed into a small volume at the loop though... :7

Lower sample counts are very cheap and there are rapidly diminishing returns in IQ improvements (but rapidly increasing costs) to samples counts much above 100. If you limit the number of high res nebulae to a reasonable level, and are careful not to use wasteful sample counts, it's not hard to make the Loop look good at little or no cost to jump times.
 

rootsrat

Volunteer Moderator
I don't know of one anywhere, and haven't written one from my notes myself, but I have some familiarity with most of the settings, if you have a specific question.
Pretty much everything! I mean, I've not done that much testing of it, and I know the basics, like texture scale or radiuses, but stuff like AtmosphereSteps or WorkPerFrame for planetary settings for example I haven't got a clue.

I guess if you're a programmer you probably know about this stuff, but I mainly know it from modding other games. So anything that's unique to Elite, or a bit more advanced in general, I don't know.

One thing I noticed you don't have in your settings is this:

<SurfaceRocks>
<High>
<LocalisationName>$QUALITY_HIGH;</LocalisationName>
<TinySurfaceRockCount>600</TinySurfaceRockCount>
</High>
</SurfaceRocks>

I don't know if this is still valid in Odyssey actually, but in Horizons it makes the planetary surface to be populated with more rocks, which makes it look a bit better. The standard value is 400. 600 is 50% increase. The only downside, sort of, is that the extra ones are ghosts, i.e. there is no physical impact and your SRV just drives through them. A bit immersion breaking, but good compromise for better visuals.

Like I said, I didn't do much testing in Odyssey and I've pretty much retained my settings from Horizons:

XML:
<?xml version="1.0" encoding="utf-8"?>
<GraphicsConfig>
  <MinimumAspectRatio>1.0</MinimumAspectRatio>
  <HBAO>
    <High>
      <LocalisationName>$QUALITY_HIGH;</LocalisationName>
      <Enabled>true</Enabled>
      <HBAO_RadiusInMeters>4.0</HBAO_RadiusInMeters>
      <HBAO_NearRadiusInMeters>3.0</HBAO_NearRadiusInMeters>
      <HBAO_NearDistance>40.0</HBAO_NearDistance>
    </High>
  </HBAO>
  <Planets>
    <Ultra>
      <LocalisationName>$QUALITY_ULTRA;</LocalisationName>
        <TextureSize>4096</TextureSize>
    </Ultra>
  </Planets>
  <GalaxyBackground>
    <High>
      <LocalisationName>$QUALITY_HIGH;</LocalisationName>
      <TextureSize>4096</TextureSize>
    </High>
  </GalaxyBackground>
  <Envmap>
    <High>
      <TextureSize>1024</TextureSize>
    </High>
  </Envmap>
  <FX>
    <High>
      <Item>
        <Feature>LightCones</Feature>
        <QualitySetting>4</QualitySetting>
      </Item>
      <Item>
        <Feature>LensFlares</Feature>
        <QualitySetting>5</QualitySetting>
      </Item>
      <Item>
        <Feature>Debris</Feature>
        <QualitySetting>5</QualitySetting>
      </Item>
      <Item>
        <Feature>ParticleEffects</Feature>
        <QualitySetting>4</QualitySetting>
      </Item>
      <Item>
        <Feature>Trails</Feature>
        <QualitySetting>5</QualitySetting>
      </Item>
      <Item>
        <Feature>Beams</Feature>
        <QualitySetting>5</QualitySetting>
      </Item>
      <Item>
        <Feature>Fog</Feature>
        <QualitySetting>3</QualitySetting>
      </Item>
    </High>
  </FX>
  <SurfaceRocks>
    <High>
      <LocalisationName>$QUALITY_HIGH;</LocalisationName>
      <TinySurfaceRockCount>600</TinySurfaceRockCount>
    </High>
  </SurfaceRocks>
  <Terrain>
    <UltraPlus>
      <BlendTargetsResolution>2048</BlendTargetsResolution>
      <WindVectorFieldResolution>2048</WindVectorFieldResolution>
    </UltraPlus>
  </Terrain>
</GraphicsConfig>

A lot of it I know from ED Profiler, which has a separate sub-menu for editing those. Also, thanks for reminding me about your shadows thread, I was meant to check it out and test it for ages and still didn't get round to doing it.
 
Pretty much everything! I mean, I've not done that much testing of it, and I know the basics, like texture scale or radiuses, but stuff like AtmosphereSteps or WorkPerFrame for planetary settings for example I haven't got a clue.

Atmosphere steps appears to control the quality of the rendered atmospherics of worlds when seen from space. I'm not sure if it applies during glide or below, but the setting has been around since before Horizons, let alone Odyssey.

Work per frame controls how quickly planets are textured. You can see it's effects if you approach a planet and orbit it quickly. More work per frame the wider the terrain texture strips that are drawn and the less time the planet spends at a lower texture LOD...to an extent. The setting has a performance cost itself, so if it's too high, it can stutter, or reduce frame rate to the point a lower setting would be better. It has to be balanced against the frame rate you expect to get (higher frame rate, less you need) and the texture size you're using (larger texture the more you need). 512 works well for me at 8k planet textures with an expect frame rate floor of ~200 or so in SC. It takes a concerted effort to see terrain being drawn in by orbiting a planet at these settings.

I guess if you're a programmer you probably know about this stuff, but I mainly know it from modding other games. So anything that's unique to Elite, or a bit more advanced in general, I don't know.

I'm not programmer either, but an .xml filled with settings doesn't have much to do with programming, fortunately.

<FX>
<High>
<Item>
<Feature>LightCones</Feature>
<QualitySetting>4</QualitySetting>
</Item>
<Item>
<Feature>LensFlares</Feature>
<QualitySetting>5</QualitySetting>
</Item>
<Item>
<Feature>Debris</Feature>
<QualitySetting>5</QualitySetting>
</Item>
<Item>
<Feature>ParticleEffects</Feature>
<QualitySetting>4</QualitySetting>
</Item>
<Item>
<Feature>Trails</Feature>
<QualitySetting>5</QualitySetting>
</Item>
<Item>
<Feature>Beams</Feature>
<QualitySetting>5</QualitySetting>
</Item>
<Item>
<Feature>Fog</Feature>
<QualitySetting>3</QualitySetting>
</Item>
</High>
</FX>

Most of these don't do anything because they aren't direct variables themselves, but part of a lookup table, and you've got them set higher than the highest entry on the table.

For example "Trails" maxes out at "High", which corresponds to a setting of "3" (Off=0, Low=1, etc). "5" is two steps higher than anything that exists and is either equal to 0 or 3 (I'm not sure which, haven't tried it, probably 3, otherwise you'd be forcing a bunch of setting to their lowest level, which should be a fairly overt reduction in IQ).

To change anything inside those, you need to change the individual settings under the specific heading. Otherwise you are just picking a preset.

This is gone from the Odyssey GraphicsConfiguration.xml so I'd guess it's not a valid settings option any more.

This is true. Odyssey doesn't have the same sort of fake clutter.
 

rootsrat

Volunteer Moderator
Atmosphere steps appears to control the quality of the rendered atmospherics of worlds when seen from space. I'm not sure if it applies during glide or below, but the setting has been around since before Horizons, let alone Odyssey.

Work per frame controls how quickly planets are textured. You can see it's effects if you approach a planet and orbit it quickly. More work per frame the wider the terrain texture strips that are drawn and the less time the planet spends at a lower texture LOD...to an extent. The setting has a performance cost itself, so if it's too high, it can stutter, or reduce frame rate to the point a lower setting would be better. It has to be balanced against the frame rate you expect to get (higher frame rate, less you need) and the texture size you're using (larger texture the more you need). 512 works well for me at 8k planet textures with an expect frame rate floor of ~200 or so in SC. It takes a concerted effort to see terrain being drawn in by orbiting a planet at these settings.



I'm not programmer either, but an .xml filled with settings doesn't have much to do with programming, fortunately.



Most of these don't do anything because they aren't direct variables themselves, but part of a lookup table, and you've got them set higher than the highest entry on the table.

For example "Trails" maxes out at "High", which corresponds to a setting of "3" (Off=0, Low=1, etc). "5" is two steps higher than anything that exists and is either equal to 0 or 3 (I'm not sure which, haven't tried it, probably 3, otherwise you'd be forcing a bunch of setting to their lowest level, which should be a fairly overt reduction in IQ).

To change anything inside those, you need to change the individual settings under the specific heading. Otherwise you are just picking a preset.



This is true. Odyssey doesn't have the same sort of fake clutter.

Thanks for explanation, very helpful! I think it's time for a thorough review of my overrides :D
 
Thanks for explanation, very helpful! I think it's time for a thorough review of my overrides :D

I had to correct an entry in my override file above. Those spot shadow settings should have replaced the "Ultra" profile, rather than "Low".
 
Back
Top Bottom