Performance Issues? You won't BELIEVE how much fps is gained with this ONE TRICK!

It appears that "Off" and "Low" FX quality still produce smoke that has a larger performance impact than "Medium" or "High", but so many effects are rolled up in "FX" that people with lower-end GPUs can't practicably use "Medium" either. Manually editing the config files to isolate the problem setting, or using third party tools to target the offending shader, are the only practical workarounds for these people.
That's a bummer. Because I know the offending smoke effect that I previously blocked before the hash changed also is used as the wisp of dust on surfaces and the ship landing kicking up dust effect (as well as the steam seen on the game start screen)
 
Im just happt that they took this to heart and added a FX slider.
I went from stocatto 25fps.
To almost smooth 50+ in settlements.

There is still hitching from "loading" and "unloading" stuff,
but the fact the partially transparent (alpha channeled) effects were causing so much grief is to me a shock, and if it wasn't for the "hack" i don't think it would have been noticed until much later.
 
It appears that "Off" and "Low" FX quality still produce smoke that has a larger performance impact than "Medium" or "High", but so many effects are rolled up in "FX" that people with lower-end GPUs can't practicably use "Medium" either. Manually editing the config files to isolate the problem setting, or using third party tools to target the offending shader, are the only practical workarounds for these people.

Can confirm from ad hoc testing.

My current approach is to pretend odyssey doesn't exist, and just play horizons. The graphics in horizons are amazing, for ones own personal joy i recommended trying that. Had a few sessions just playing as old and there's no stress or issues, just elite again.
 
This is exactly why I didn't officially release a mod to fix these - most likely the shader hash has changed and locating the new hash via hunting will restore the fix to working order. It's past 1am here, so I'm not about to fire up the game to find it, but brief instructions:
Following your instructions, I believe the new designation is "66915c744680feed".
 
My current approach is to pretend odyssey doesn't exist, and just play horizons. The graphics in horizons are amazing, for ones own personal joy i recommended trying that. Had a few sessions just playing as old and there's no stress or issues, just elite again.
Best advice I've seen on here in a while.
Enjoy Horizons while you can - eventually it will effectively be killed off when they merge the new ( and currently broken ) rendering and the new ( and currently broken ) planet tech into Horizons as was originally planned last year before FDev realised just how bad Odysseys rendering changes perform and how annoyed the explorers are with the tiled hand crafted assets that make up planet surfaces now. Ultimately Horizons was suppose to get 'upgraded' on release of Odyssey so they only had one code base to maintain, but that dream died a death when final release of Odyssey turned out to be almost identical to the Alpha and we all got see it's no where close to a polished releasable product - 8 months and 10 updates later ... it's still not there yet.
 
View attachment 284562
Excuse the clickbait title. I've finally got back to Odyssey after being on hiatus since the alpha, and am disappointed to see that performance hasn't really improved, at least not significantly - especially given that there is still so much low hanging fruit, of which this smoke effect is by far the lowest hanging and biggest performance killer in these offline settlements. To disable this effect I used 3DMigoto (I'm one of the authors of this tool) to skip the draw calls associated with this shader. Normally when people ask me if 3DMigoto can improve performance of a given game I answer "unlikely" (depends where the bottlenecks are, usually skipping an effect or two won't make much difference), but this is one case where the answer is a resounding "yes!".

I don't really intend to release the mod to do this - the point of this post is more to try to gain some attention on the issue. It would be dead simple for Frontier to add an option to the settings to disable this shader, and should be near the top priority of their optimisation efforts. And if they do go and tweak the shader, than any mod I release would break as the shader hash would change.

Edit: Please confirm/vote for this issue: https://issues.frontierstore.net/issue-detail/46882
Instead of a work around, I'd rather FDev just give a damn and just fix it already.
 
Instead of a work around, I'd rather FDev just give a damn and just fix it already.
THIS. Everything so far that FDev has done to mitigate the performance issues have largely been just bandaids; FSR and checkerboard rendering for example are NOT optimizations. They are workarounds that try to bypass the lack of optimization by simply reducing the on-screen detail enough to get a playable framerate.
 
...FSR and checkerboard rendering for example are NOT optimizations. They are workarounds...
That said... Were the will there, the checkerboard rendering could conceivably be evolved to do foveation for VR- and widescreen- users, even if it so far uses only a single pattern, and is implemented only in the planetary terrain shaders... :9
 
That said... Were the will there, the checkerboard rendering could conceivably be evolved to do foveation for VR- and widescreen- users, even if it so far uses only a single pattern, and is implemented only in the planetary terrain shaders... :9
True, but given the treatment of VR in EDO and the general competency of FDev (or lack thereof), do you have any confidence that is what it will eventually be used for?
 
I tried this and thought it worked, but it turned out not to do anything after a few more tests. I think because I used the old hash.

AMD Ryzen 7 5800x
AMD Radeon RX 6900 XT
Valve Index
 
Last edited:
Is it improved any since U11?
Not that I noticed and additionally, U12 is using two different smoke shaders now which are (weirdly enough) tied to Spot Shadow Quality. Using Low/Medium will use the hash I gave above, High/Ultra is apparently a different hash and even more resource intensive than the other one.
 
I feel like the smoke is still eating too much resources.
Makes doing AX reactivations so annoying.

I'm dropping my private d3dx.ini for update 15.01 (this disables bunch of shaders, not only the smoke):
You need 3Dmigoto 1.3.16 - https://github.com/bo3b/3Dmigoto/releases

Code:
[Include]
exclude_recursive = DISABLED*

[System]
load_library_redirect=2
check_foreground_window=1
allow_check_interface=1
allow_platform_update=1

[Rendering]
override_directory=ShaderFixes
cache_directory=ShaderCache
storage_directory=ShaderFromGame

[Logging]
calls=0
input=0
debug=0
convergence=0
separation=0

[Constants]
global $SkipEnabled = 1

[Hunting]
hunting = 0
reload_config = ctrl no_alt no_shift VK_F10

[KeyToggleSkip]
Key = ctrl no_alt no_shift VK_F9
Type = cycle
$SkipEnabled = 0, 1

[ShaderOverrideSettlementShadows]
Hash=162c10bbba90a494
if $SkipEnabled == 1
  Handling=skip
endif

[ShaderOverrideHelmetOverlay]
Hash = 12ce4c6548c8b23b
if $SkipEnabled == 1
  Handling=skip
endif

[ShaderOverrideSettlementSmoke]
Hash = 70e10660973802b2
if $SkipEnabled == 1
  Handling=skip
endif

[ShaderOverrideSettlementFloorReflections]
Hash = 41de11d44ba91306
if $SkipEnabled == 1
  Handling=skip
endif

[ShaderOverrideSettlementGlassReflections]
Hash = 4f42acfb4afce5ff
if $SkipEnabled == 1
  Handling=skip
endif

;[ShaderOverrideSettlementFire2D]
;Hash = a1e4621a70aef8cc
;if $SkipEnabled == 1
;  Handling=skip
;endif

[ShaderOverrideSettlementFire3D]
Hash = c78e5c289e83be3e
if $SkipEnabled == 1
  Handling=skip
endif

[ShaderOverrideSettlementFireLight]
Hash = 03e88d745aec7c94
if $SkipEnabled == 1
  Handling=skip
endif

; These 3 will make the game look like **** but boost FPS
;[ShaderOverrideSettlementStaticLights]
;Hash = d94efca61a0bf911
;if $SkipEnabled == 1
;  Handling=skip
;endif

;[ShaderOverrideSettlementExtraReflections]
;Hash = 3f366702d540af3e
;if $SkipEnabled == 1
;  Handling=skip
;endif

;[ShaderOverrideSettlementFlashlightReflections]
;Hash = 4034d618cc7fce8a
;if $SkipEnabled == 1
;  Handling=skip
;endif

CTRL+F9 toggles the fixes, CTRL+F10 reloads the config file.

Screenshot comparison for Ryzen 5 2600 + 1060 GTX (1924 MHz @ 0.931v, memory +500 MHz)

I might update this post as I find more GPU-hungry shaders.

Also - my GraphicsConfigurationOverride.xml that might help:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <Shadows_Low>
        <Profile_General>
            <SliceSize>512</SliceSize>
        </Profile_General>
        <Profile_PlanetApproach>
            <SliceSize>512</SliceSize>
        </Profile_PlanetApproach>
        <Profile_PlanetSurface>
            <SliceSize>512</SliceSize>
        </Profile_PlanetSurface>
        <Profile_StationInterior>
            <SliceSize>512</SliceSize>
        </Profile_StationInterior>
        <Profile_AsteroidField>
            <SliceSize>512</SliceSize>
        </Profile_AsteroidField>
    </Shadows_Low>
    <SpotShadows_Low>
        <CacheShadowAtlasSize>1536</CacheShadowAtlasSize>
        <CacheShadowSize>255</CacheShadowSize>
    </SpotShadows_Low>
    <Planets>
        <Low>
            <TextureSize>256</TextureSize>
        </Low>
    </Planets>
    <GalaxyBackground>
        <Low>
            <TextureSize>256</TextureSize>
        </Low>
    </GalaxyBackground>
    <Envmap>
        <Low>
            <TextureSize>256</TextureSize>
        </Low>
    </Envmap>
    <Terrain>
        <Low>
            <BlendTargetsResolution>256</BlendTargetsResolution>
            <WindVectorFieldResolution>256</WindVectorFieldResolution>
        </Low>
    </Terrain>
    <SurfaceMaterial>
        <Low>
            <SurfaceMaterialQuality>0</SurfaceMaterialQuality>
        </Low>
    </SurfaceMaterial>
    <Debris>
        <Off>
            <DebrisLimit>10</DebrisLimit>
        </Off>
    </Debris>
    <DamageDecals>
        <Low>
            <PlanetMaxTrails>64</PlanetMaxTrails>
        </Low>
    </DamageDecals>
    <ParticleEffects>
        <Low>
            <LightAtlasResolution>256</LightAtlasResolution>
        </Low>
    </ParticleEffects>
    <Volumetrics>
        <Low>
            <DownscalingFactor>3</DownscalingFactor>
        </Low>
    </Volumetrics>
</GraphicsConfig>
 
Last edited:
I'm fairly confident the smoke shader hasn't been tied to spot shadow quality since U12 or U13. I tested U14 and U15 by replacing the Low quality spot shadow entries with the settings for Ultra and this made performance identical between the two presets, even in smoke heavy areas.

The performance hit from smoke is still significant on shader limited parts/settings.
 
Back
Top Bottom