Star Wars Jedi: Survivor

File information

Last updated

Original upload

Created by

SammiLucia

Uploaded by

sammilucia

Virus scan

Safe to use

Tags for this mod

About this mod

Reworks the game to fix hitching, stabilise frametime and improve LODs and visuals. This is not an engine.ini.

Permissions and credits
Similar to the Hogwarts Legacy Ultra+... but Jedi had a bunch of different problems which are now mostly fixed.

This mod is a WIP, removing one hitch at a time. The Hogwarts mod took feedback from the community to get perfect. If you have problems or great success, please let me know in Posts 😊


What it Does

  • Improves DLSS and FSR appearance on Balanced/Performance, by reversing the negative LODs DLSS/FSR apply (NOTE: you may nee to have negative LODs enabled in your GPU control panel for this to work)
  • Completely reworked the texture streamer, which was only partly enabled (r.Streaming.AmortizeCPUToGPUCopy requires s.IoDispatcherCacheSizeMB to be enabled)
  • Fixed big hitches from shaders trying to compile after they've presented
  • Improves water quality, which was rendered at half res
  • Cut scenes have an FPS boost with no visible quality loss by reducing excessive quality
  • Freed ~500MB VRAM by disabling several unused engine functions, enabling larger PoolSizes.
  • Rebalanced in-game graphics settings "Epic" is now closer to cut-scenes, "High" is what "Epic" used to be. "Mid" and "Low" should now look a lot more detailed but work on lower-end PCs
  • Fixed TAA crawling on sharp texture edges. NOTE: This requires DLSS (it's not fixable on FSR2 unfortunately)
  • Improved white flashes on screen when moving the camera quickly. Not entirely gone but much better
  • Replaced SSAO with GTAO (for non-raytracing)
  • Improved fog and increased the visible movement of fog in lights
  • Tweaked depth of field and bloom quality in line with game's look
  • Increase anisotropic filtering to 16x
  • Reduced blurriness by enabling texture sharpening and post-process sharpening
  • Fixed stalling when changing camera views in cut scenes
  • Tweaked subsurface scattering on skin (slightly reduced) to better match the game look
  • Increased view and lighting distances for High and Epic graphics settings
  • Increased quality of textures everywhere to fix the inconsistent quality on different objects/assets
  • Enabled texture and shadow LOD fading over 3 seconds to make pop-ins far less noticable
  • Sharpens shadows to more realistic look
  • Fixes excessive polygons with grass causing frame drops
  • Improved mesh accuracy of small objects (flasks, crates, bottles, plants) don't look distorted at a distance. NOTE: This needs more testing, please let me know if you find any potato meshes
  • Forced new Oodle Selkie texture compression on everything, and fixed virtual texture compression which causing traversal stutters moving the camera around
  • Fixed a hitch caused by shadows
  • Removed several settings targeting 60 FPS specifically, which should help with high-end PCs and >60 FPS framerates
  • Slowed down BluePrints which was ticking 1,000 times per frame. Disabled ticking for BP unless they specifically ask for it. NOTE: This could cause problems with pooly designed BP mods or quests

Notes

  • Ultra+ does improve the game's performance by a few FPS, however the extra FPS are taken up with visual quality improvements
  • This may also enable you to play the game on low-powered PCs. (Thousands of people have been able to play Hogwarts with Ultra+ when they couldn't before.)
  • Should also work for Mac and Linux! Please let me know in Posts
  • I haven't worked on ray tracing at all yet. There is a bit of setup in the mod in preparation for RT work, but for now "It may work, it may not." (Please let me know in Posts if you try it.)
  • Adjust the black point of your screen (Visuals > Color). I like mine with a gamma of 2.1, so i really only just can see the black symbol.
  • That's it!


How to Use

  • Choose a pak...

    Non-Streaming
    : Based on Respawn's original texture streamer, but fixes hitches when panning the camera. This should be your first choice for 3070 and higher, and AMD-equivalent video cards. Untested on lower end PCs.

    Streaming: Based on how Epic intended the Unreal texture streamer to be used, if you have a low-to-mid-range PC, this is probably your best option. With either option, please let me know how you go in Posts 😊
  • Copy the pak to Jedi Survivor\SwGame\Content\Paks or ~mods (it doesn't matter), or use a mod manager
  • PoolSize is now set by in-game "Texture Quality". For both pakcs, use "Epic" is for >8GB cards, "High" for 6GB, "Med" for 4GB, and "Low" for 2GB cards
  • Make sure you don't have any other performance or raytracing fix mods installed. I've completely reconfigured the engine — they will not work with Ultra+
  • (Optional) Copy the DLSS DLL to Jedi Survivor\Engine\Plugins\Runtime\Nvidia\DLSS\Binaries\ThirdParty\Win64


New Graphics Settings

This section is WIP.
Ultra+ reworks all in-game graphics settings (inside the game > cog icon > Visuals... there isn't a separate menu).

Here is what the settings do now:

Anti-Aliasing > Volumetric Fog
The in-game Anti-Aliasing quality did almost nothing, and volumetric fog was controlled by Shadow Quality (??). So, Volumetric Fog is now controlled by Anti-Aliasing:
  • Performance cost: High
  • Epic quality is best for 3080 and higher and AMD equivalents
  • High is best for 2080 and higher/AMD and still looks really nice
  • Med should work well on 10x0 and higher/AMD
  • Low should work on low-end PCs
Note: This setting does gently scale anti-aliasing, but you shouldn't notice any quality loss

Texture Quality
Now controls the new texture streamer's memory. However, because of how the realtime texture streamer works, you shouldn't notice much quality loss except at the lowest setting! (Even lowest should be acceptable.)
  • VRAM impact: High
  • Performance cost: None, but If you set this too high the game will hitch badly! 
  • Use Epic for 10GB or higher cards
  • High is for 8GB cards
  • Med is for 6GB cards
  • Low is for 4GB cards

View Distance
  • Performance cost: Medium
  • Epic extends view distance and lighting by 2x
  • High is extends by 1.5x
  • Med is what Epic used to be (1x) view distance and lighting
  • Low is 0.6x view distance

Shadow Quality
  • Performance cost: Medium-High
  • Epic increases for cascaded shadow maps to 2048x. 4096x is unnecessary with the new shadow sharpening 
  • High is similar to vanilla Epic
  • Medium is 1024px for world, 2048px for cascaded shadow maps. Still looks good, not quite as accurate, but you likely won't notice unless you pause some scenes and really analyze it.
  • Low is a slightly lower shadow distance and 512x shadows / 1024x cascaded shadows and should be very performant


Troubleshooting

  • Q: Game crashes on startup or loading saves
        A: Your shader cache is corrupt. Please run the clear-shader-caches script in the Solutions folder > Crash on load, or black spots on landscape
        A: If that doesn't work, please verify your game files
  • Q: I have black spots on the landscape
        A: Your shader cache is corrupt. Please run the clear-shader-caches script in the Solutions folder > Crash on load, or black spots on landscape

Full Troubleshooting Guide

These steps get more aggressive as you go down the list:

  • Check you're on the newest version of the mod. I regularly fix issues
  • Enable DLSS (or FSR2 on AMD). DLAA and TAA are the heaviest because they use more memory. DLSS etc. has a lower screen resolution which saves a lot of VRAM
  • Ensure your Texture Quality is not set too high (see New Graphics Settings above) — this should be the exact "right size" for your video card. It shouldn't make much difference to the visual quality
  • Lower some settings (especially View Distance, and Anti-Aliasing (which now controls volumetric fog, NOT anti-aliasing). You won't notice much difference with these lower
  • For AMD users, run the AMD Auto-Detect tool, even if you installed the AMD Chipset and GPU drivers, this tool often finds missing drivers and fixes the issue!
  • Try removing Blueprints mods. If these aren't carefully written they can increase the game thread time, which decreases your FPS
  • Ensure your video and PC drivers are up to date. Jedi Survivorwon't work correctly with drivers before 531.68. I recommend the Studio drivers as they go through full regression testing (If you suspect driver problems, use DDU in Safe Mode to completely remove all old video drivers, then reinstall them in regular Windows mode)
  • Close background programs. Even having Epic Games Launcher running in the system tray causes me problems (which is crazy because Epic make Unreal Engine!)
  • Clear the DirectX shader cache. In the Solutions folder of the mod > Crash on load OR black spots on landscape, run the bat file in there. Furhter details are provided in the folder
  • If you have ISLC or another memory cleaner running in the background and it's cleaning memory while the game is running, the game is more likely to stutter and crash with Ultra+. While it's great to flush memory in between game runs, it's not good while it's running
  • If ISLC (or other) is reducing the system timer resolution to 0.5ms, this could also cause instability. Unreal runs best at a system resolution of 1.0ms (which is what the game requests — lower is not necessarily better)
  • Try disabling Steam overlay, or any other overlays (Ansel, MSI, etc.). I haven't had a problem with it, but it can reportedly cause performance issues with Hogwarts
  • Verify game files in Steam. (Right-click game > Properties > Local Files > Verify integrity...) Remember after doing this you will need to re-copy DLSS and SPLF)
  • If you're having screen flickering issues, disable Windows Multiplane Overlay (MPO) - the reg file is available NVidia, and included in Solutions > Black screen flashes
  • Verify your Windows install. 1) Ensure you have a good backup of any important files, 2) Right-click Command Prompt and click Run as Administrator > type dism /online /cleanup-image /restorehealth 3) reboot if required, 4) run Commend Prompt as admin again, 5) type sfc /scannow 6) reboot if required
  • Message me in Posts. The more detail you provide the more I can help 😊


My other mods

Hogwarts Legacy
Robocop: Rogue City
Cyberpunk 2077
Star Wars: Jedi Survivor


Contributors

There is just no way I can test an entire game by myself, so I rely heavily on feedback and testing from the community. Thank you so much to the following contributors for all your amazing help and feedback! 😊 ❤️

  • BSherrod
  • blackguard
  • anticitizen101
  • yellaLoon1991
  • bkmac001


Changelog

v2.1
  • Removed streaming until (if) I can work out a way to fix performance for it
  • You can now revert GTAO/ray-traced if you don't like it, to SSR by using the extra pak (as well as streaming/non-streaming)
  • Streaming version should have much higher FPS. Foliage especially seemed to have extremely high polygon counts. While the 'new' addage is "polys don't matter, only draw calls do", this isn't true when ray tracing is enabled and objects like grass intersect other meshes (landscape), which causes RT to be recalculated multiple times. So reducing polys helps.
  • White flashes on screen should be completely fixed, by temporarily increasing all newly created occlusion boxes by 170cm. This is a better solution than simply disabling occlusion culling which is expensive.
  • Significantly reduced mesh resolutions of building HLODs by 10x. This helps performance in high-building areas with (so far) no noticable quality loss. Let me know if you see any low mesh objects in-game
  • Made shadows sharper/more realistic
  • Further refined in-game quality settings for shadows so they make more sense and improve performance. Even "Medium" looks good and Low looks reasonable
  • Moved foliage view distance to Foliage in-game graphics settings
  • Twi'lek researcher's lekku (head tentacles) physics should be fixed (thank you to anticitizen101 for finding this!)
  • Fixed Koboh observatory electricity (thank you to blackguard!)

v2.0.1
  • Fixed Ultra+ ray tracing. Respawn ray tracing expects most textures to have an optional texture LOD resolution (which is baked separately)
  • Fixed Respawn's stutter/hitch issues using their original texture streaming method (that is most noticable when you move the camera around) by freeing up the pipeline that feeds the textures to the texture streamer
  • Sped up the realtime streaming ("Streaming") pak by 5-10 fps depending on the area by adding more mesh LODs
  • Increased the draw quality of rocks and buildings especially (by tweaking texture settings, and also by adding mesh LODs)
  • Fixed bug with vanilla raytracing causing flashing and/or pulsing in dark areas, by increasing ray tracing samples per pixel by 2 or 3. This is controlled by the Foliage quality, because Foliage doesn't do anything except change the view distance of vegetation so it's easy to scale. Note also that the flashing will still occur on low Foliage qualities (but only in some places)
  • Added a script to reset the config files to fix a vanilla game crash scenario where you can't change the game's settings properly
  • Fixed view distance LODs were being overridden by Respawn's custom engine code. Well, I've overridden their overrides! So there!
  • Added a new pak called "NoStream". This is exactly the same as the usual Ultra+, but does not enable the real-time texture streamer
  • Applied texture sharpening to several textures groups and normal maps to fix some blurriness before post-processing
  • Fixed awful distant rocks in Kaboh and other places by applying a streaming boost of 2.0x for Epic, 1.5x for High View Distance. this affects performance of course
  • Slightly increased intensity of fog (again)
  • Fixed missing particles in the area... where.. there are particles.. on the ground
  • Fixed missing dust/and puffs of cloud on ground around water etc. FX
  • Fixed problem where in-game Video > Shadow Quality was being overridden
  • Fixed a problem where bloom quality was being overridden
  • Tweaked shadow quality performance/quality of all graphics settings so it's a bit friendlier on performance. Use caution with "Epic" shadows!
  • "Cinematic" quality now ineherets some selective qualities from whatever graphics settings you're using. Nothing you should notice, but enough to help performance
  • Moved all the texture LOD groups into BaseDeviceProfiles.ini and deleted everything from DefaultDeviceProfiles.ini because I'm tired of updating devices individually
  • Increased GPU scene buffer from 512,000 to 768,000 to fix an occasional hitch
  • Changed Oodle texture compression method from Mermaid to Selkie, which is 25-75% at decompression (depending on the amount of data streamed). Important for texture streaming
  • Corrected foliage minimum screen percentages and moved to View Distance in graphics settings
  • Fixed an issue where distant ray tracing was not updating correctly
  • Halved the resolutions of "optional" textures, which are generated to a different file. Respawn Ray tracing is looking into these, possibly for reflections, but they don't need to be more than 2048x quality
  • Fixed issue where bloom quality was being ignored in graphics settings
  • Hopefully fixed some performance issues
  • Fixed a bug with Visuals > Post Processing which was causing crashes on startup or if tried to change the quality in-game
  • Increased texture resolution for small characters to 2048x
  • Changed the DLSS sharpening to a crazy method I found... DLSS is now running as an unsharp mask first (r.NGX.DLSS.Sharpness=-1.0 i.e. smoothing), followed by UE sharpening. This has the benefit of fixing any remaining TAA jittering completely and looks super nice with the new sharper textures!
  • Slightly increased volumetric fog density to match the new look

v1.3.1
NOTE: Texture memory has changed. For >10GB cards, use "Epic" Texture Quality, 8GB use "High", 6GB use "Med", and 4GB use "Low"
  • Removed a hitch due to DXR and ZLIB texture compression on virtual textures. Since all textures are now forced to Oodle compression, DXR should never enabled. ZLIB should never be enabled on textures.
  • Removed a hitch due to the streaming poolsize running out of memory by simply lowering the poolsizes!
  • Further tuned texture streaming timing.
  • Fixed regression on rocks, causing low-quality rock textures
  • Optimised Oodle texture compression correctly. According to the UE docs the compression level on normals should be between 5 and 15, the vanilla game was using 40 which negatively impacts quality. Ultra+ is now using level 60 on textures, 40 on masks etc., and 15 on normals, which looks much better to me and saves memory
  • This enabled to more aggresively increase texture quality on several other textures in the game
  • Fixed missing dust on ground (thank you to bkmac001)
  • clear-shader-cache.bat now correctly clears Unreal shader caches as well as the DirectX shader cache
  • Removed ray tracing optimisations I'd added in the last version, since the game is not using UE's ray tracing system at all. The RT it's using is largely unknown at this point, but relies on TaskGraph
  • Reduced aliasing on fake lens-flare bubbles
  • Increased the resolution of directional shadows at Epic quality. This gives nicer shadows on the main character and NPCs
  • Found and disabled some additional debugging and functionality that's not being used (EarlyZ, virtual texture readback, and capsule shadows, plus some I've forgotten)

v1.2
  • Added source code so you can build and test your own Ultra+. Note: I hold the copyright, this is for the curious and those who want to help solve the game's problems
  • Improved water refractions, which were being rendered at half resolution, they're now at full res and no longer blurry
  • Deleted optional texture LODs since they're unused and just create more textures than necessary
  • Attempted to prevent white screen flashes at the edge of screens (which is caused by polygon culling) by lowering r.NumBufferedOcclusionQueries from 2 to 1 (thanks yellaLoon1991 for requesting)
  • Forced all textures to use the new Oodle texture compression. Only some were, and it's better than DX texture compression

v1.1-rc2
  • Reduced volumetric fog to compensate for GTAO (volumetric fog looks fuller with GTAO, and is not what the artists intended)
  • Volumetric fog quality is now controlled by  moved to Anti-Aliasing in in-game graphics settings (fog was lumped under "Shadow Quality" and has a large impact on performance). This setting still mildly scales AA, but on Low and Med you shouldn't notice quality loss
  • Reduced hitching on particles and FX

v1.0-rc1
  • Initial release