Final Pass Game Optimization

I know that Elite Dangerous is no longer a priority for FDEV. Pity, because it's the flagship product that put FDEV on the map. There is still so much potential for this game, for new ships, for new weapons, for new enemies, for new game mechanics.

But that aside, ED as a game seems to have terrible performance. I just wanted (as a published indie game programmer myself) some thoughts about some things that could really streamline the performance side of things if they haven't been implemented already.

- Are draw passes being performed for things that are not even visible on the screen? This is one of the first things I check in my own code but I know that many big game developers get sloppy with simple things like this and just assume everyone is running their game on a solid rig that can handle unnecessary work. For planetary approach especially (is the "dark side" of the planet that the player can't even see being rendered?) but also just for ships/planets/stations in general, if the player ship isn't pointed at it and it's not visible, draw code should be bypassed.

- Please give us options to turn off shadows entirely. At lower levels, shadows don't look great and from a performance perspective it would be nice to just be able to turn them completely off even for a tiny bit better performance.

- Does ED adjust model/texture detail based on view distance/distance from object? I have to wonder, because just being in an area with a starport tanks FPS sometimes even if I'm 20km away and the station is tiny on my screen.

- How optimized are ED's meshes? Resource optimization can make a huge difference in game performance for very little effort expended on the part of devs. It's amazing how many software developers just don't even bother with steps like this though.

- It would be nice to have an absolute draw cutoff feature in the graphics settings. For example, never draw ships that are farther away than 10km even if they are onscreen, and never draw stations farther away than 30 km even if they are onscreen. I don't know how much impact this could have performance wise but in absence of other basic performance features like downscaling textures at distance, something like this could help.

- Are there code structuring issues or API calls that always add in a bit of processing time overhead? Streamlining code flow can make a huge difference in game performance. I have a graphics library with certain functions that I have found tank my games' performance if I'm calling them regularly, so I write my own code to do those things more efficiently or use other methods of achieving the desired outcome.

I've just noticed that ED has become a bit rough around the edges with some of the last updates. Issues with the interface not updating information, noticeably worse performance than I had years ago when I played regularly, etc.

I'd really like to see this title shine, and it can with just a little more effort, I believe.
 
I know that Elite Dangerous is no longer a priority for FDEV. Pity, because it's the flagship product that put FDEV on the map. There is still so much potential for this game, for new ships, for new weapons, for new enemies, for new game mechanics.

But that aside, ED as a game seems to have terrible performance. I just wanted (as a published indie game programmer myself) some thoughts about some things that could really streamline the performance side of things if they haven't been implemented already.

- Are draw passes being performed for things that are not even visible on the screen? This is one of the first things I check in my own code but I know that many big game developers get sloppy with simple things like this and just assume everyone is running their game on a solid rig that can handle unnecessary work. For planetary approach especially (is the "dark side" of the planet that the player can't even see being rendered?) but also just for ships/planets/stations in general, if the player ship isn't pointed at it and it's not visible, draw code should be bypassed.

- Please give us options to turn off shadows entirely. At lower levels, shadows don't look great and from a performance perspective it would be nice to just be able to turn them completely off even for a tiny bit better performance.

- Does ED adjust model/texture detail based on view distance/distance from object? I have to wonder, because just being in an area with a starport tanks FPS sometimes even if I'm 20km away and the station is tiny on my screen.

- How optimized are ED's meshes? Resource optimization can make a huge difference in game performance for very little effort expended on the part of devs. It's amazing how many software developers just don't even bother with steps like this though.

- It would be nice to have an absolute draw cutoff feature in the graphics settings. For example, never draw ships that are farther away than 10km even if they are onscreen, and never draw stations farther away than 30 km even if they are onscreen. I don't know how much impact this could have performance wise but in absence of other basic performance features like downscaling textures at distance, something like this could help.

- Are there code structuring issues or API calls that always add in a bit of processing time overhead? Streamlining code flow can make a huge difference in game performance. I have a graphics library with certain functions that I have found tank my games' performance if I'm calling them regularly, so I write my own code to do those things more efficiently or use other methods of achieving the desired outcome.

I've just noticed that ED has become a bit rough around the edges with some of the last updates. Issues with the interface not updating information, noticeably worse performance than I had years ago when I played regularly, etc.

I'd really like to see this title shine, and it can with just a little more effort, I believe.
Not sure what game your playing, i have no issues with performance in Odyssey at all 🤷‍♂️

O7
 
Not sure what game your playing, i have no issues with performance in Odyssey at all 🤷‍♂️

O7
Admittedly my problems would mostly go away if I got a better computer. Just can't afford that and probably won't be able to for the foreseeable future. I built my current PC for $800 myself a few years ago and it runs most things great... just not ED post-Odyssey for some reason.

ED is still very playable, but there's a lot of stutter around stations and under certain other circumstances.

I know a lot of game studios today just don't put in the effort to optimize, expecting their players to just buy beast rigs. I wanted to throw some thoughts out there by way of suggestion. I know ED is approaching end of life but it would be nice if FDEV would polish it up a bit.
 
I have little experience with this, but maybe some of your questions can be answered by these two threads that came out shortly after Odyssey. Of course fixes have occured since then so they may be outdated, but the fixes seem to be more surface level- the core issues likely remain the same.


Source: https://www.reddit.com/r/EliteDangerous/comments/nj1f5x/odyssey_renderer_is_broken_details/
 
- Does ED adjust model/texture detail based on view distance/distance from object? I have to wonder, because just being in an area with a starport tanks FPS sometimes even if I'm 20km away and the station is tiny on my screen.
Hmm, are you not seeing the same rather jarring draw- and LOD pops, and mipmap transition lines, that I am experiencing (especially when approaching a location)?

That does of course not to mean every object necessarily has equally well balanced levels of detail and biases on these -- certainly not consistent visual quality; If I start the game on-foot at a starport, higher LODs stream in slooowly, and things like the express lifts are for up to a minute drawn in a very low-poly, auto-generated guise -- you know the look - all bent out of shape, where arrays of quads become jumbles of single tris.

As for culling, I am pretty sure I've seen people on the contrary reporting on having run into situations where frustum culling has for some reason turned overly aggressive, and popping things in- and out of existence, out near the borders of the screen...

The new settlements, that came with Odyssey, has to be viewed as a bit of a special case... All those large windows present something of an occlusion conundrum, but they are frankly essential for casing/stealth gameplay, and even if they weren't, I'd be loath to lose the aesthetic of them (EDIT: Heck - I find myself wishing we could afford to still see the concourse interior from the outside, when farther away than just a few metres past the other side of the glass :p)...
 
Last edited:
Admittedly my problems would mostly go away if I got a better computer. Just can't afford that and probably won't be able to for the foreseeable future. I built my current PC for $800 myself a few years ago and it runs most things great... just not ED post-Odyssey for some reason.

ED is still very playable, but there's a lot of stutter around stations and under certain other circumstances.

I know a lot of game studios today just don't put in the effort to optimize, expecting their players to just buy beast rigs. I wanted to throw some thoughts out there by way of suggestion. I know ED is approaching end of life but it would be nice if FDEV would polish it up a bit.
My comp is 7 years old, some parts of it older, im running a GTX 1070 with no problems at all.

O7
 
I know ED is approaching end of life
4bUvuvD.jpg


Yeah we've heard that before.

O7
 
- Are draw passes being performed for things that are not even visible on the screen? This is one of the first things I check in my own code but I know that many big game developers get sloppy with simple things like this and just assume everyone is running their game on a solid rig that can handle unnecessary work. For planetary approach especially (is the "dark side" of the planet that the player can't even see being rendered?) but also just for ships/planets/stations in general, if the player ship isn't pointed at it and it's not visible, draw code should be bypassed.
From this old discovery scanner (~50min in) it looks like they only generate the parts of planets you're looking at in higher detail, but I'm unsure how much that's changed with the odyssey tile based stuff.

I don't think the level of detail stuff has much to do with performance since clearly other engines can easily push that amount of detail, but the lack of options to tweak stuff for ourselves isn't helping. Though most of it is just trying to make the game playable no matter how bad it looks.

There's some noticeable lag when flying ships around concourses which I assume is some navmesh stuff in addition to just having to suddenly display a lot of models.

I assume the character models are poorly optimized and weren't really created with spacelegs in mind - which is why we only get a few combinations for station NPCs and carrier crew.

There's probably some threading issues and a massive performance degrading bug with the galaxy/system maps that tanks performance until you restart the game which I haven't found a reliable way to replicate.

There have been improvements since the "alpha", but it's still pure trash compared to horizons in both performance and looks due to various glitches. Further aggravated because of having to turn down the graphics to get playable (but still inconsistent) FPS.

I think the performance ws the main reason that drove away so many players after the odyssey launch. There are many other reasons odyssey was/is disliked, but having high system requirements makes the game less accessible and the gameplay isn't worth it except for the die hard fans who are a minority.
 
Do you have a quote for that?
It's more of a general impression based on FDEV's effort spent on ED as well as community perception. Admittedly... maybe I'm just listening to the wrong pessimistic voices. I'd love for ED to continue on indefinitely...

I'd also like to see it polished up. It's the little things, interfaces not updating information, no description for stored armour modules so you don't know what ship they are for, poor performance/optimization, etc.
 
It's more of a general impression based on FDEV's effort spent on ED as well as community perception. Admittedly... maybe I'm just listening to the wrong pessimistic voices. I'd love for ED to continue on indefinitely...
There's two basic threats to ED:
1) ED itself becomes unprofitable to run. On their latest figures, even after Odyssey, and including some development, it brings in £6M a year on £4M a year spending. So all else equal, player numbers would need to drop by at least a third from their current level, which has been essentially stable for months. Of course, if they do drop by a third, you've got a reasonable chance of being in that third and not minding too much, plus they could stop development entirely and keep it running as a static environment for an even smaller player base.

2) ED remains profitable but something else happens - Frontier goes bankrupt, the British Government outlaws computer games, global warming floods Cambridge - which means it can't continue to be supported. Most of these are relatively unlikely on a timescale where it wouldn't be possible to do something about it - the first is more of a risk than it has previously been, but shouldn't actually happen, and the other two are probably still a few decades out yet.
 
Back
Top Bottom