It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Ion Fury, for those who don't know, runs on EDuke32, probably the most well known Duke Nukem 3D source port out there. Chances are, if you've been using it for a long time, you are aware of certain performance issues it has suffered throughout the years and you most likely are familiar with workarounds. Now that IF is out, not everybody is aware of these improvements. Here I'll show you how make the game run more smooth, and as a bonus it also works for EDuke32 and all of the ports variants (such as Rednukem for Redneck Rampage and NBlood for Blood).

This fix was done using the NVIDIA control panel, and I'm afraid I don't currently own an AMD card to test if a similar setting with their software can have the same results. Please reply here if you tried something similar on AMD and let everybody know the results.

Ok, so first, open the aforementioned NVIDIA control panel and find 3D settings > Manage 3D settings > Program Settings, and click on "Add" where it says "1. Select a program to customize". Find the Ion Fury executable (for GOG it would be fury_nodrm.exe) and select it.

Now, we'll customize the settings under "2. Specify the settings for this program:". Here are the things you want to change:

Optional changes (to improve visual quality with no sacrifice to performance)

Anisotropic filtering | 16x
Antialiasing - Mode | Override any application setting
Antialiasing - Setting 8x
Antialiasing - Transparency 8x (supersample)
Multi-Frame Sampled AA (MFAA) | On
Texture filtering - Quality | High Quality

Performance fixes

Threaded Optimization | On
Triple buffering | On
Vertical sync | On

Hit "Apply" and that's all. Now Ion Fury should run much better for you.

Side Note: Build Engine vs Actual Perfrormance issues

If you don't know much about Build Engine games, they always felt a little 'janky' to play. It's hard to explain it, but it's as if the rendering of the world and objects had a permanent slight stutter. This is just how the engine is and is not the fault of performance hiccups. Learning to differentiate these is key. Even after the above fix you might notice that jankyness. This is not on your end. To see if you have real performance issues, make sure to monitor your FPS drops.
Post edited August 18, 2019 by putridpete
avatar
putridpete: It's hard to explain it, but it's as if the rendering of the world and objects had a permanent slight stutter. This is just how the engine is and is not the fault of performance hiccups. Learning to differentiate these is key. Even after the above fix you might notice that jankyness. This is not on your end. To see if you have real performance issues, make sure to monitor your FPS drops.
-

This was my experience exactly - that is, afterburner would be showing perfect, stable 60fps after applying these settings. I had an average of 60-ish before, but with big frame drop spikes - so a big thanks for helping to impmrove my experience.

Still - just like you said, there was that jank. OpenGL was farting out 60fps like Old Faithful, but I'd bet a tasty burger a handful of those frames are exactly the same. So - I kept digging and found some comments on Steam from last year. The guy's suggestion seemed like a longshot and another guy was ridiculing it - but it worked. No jank - whatsoever. I think this might actually be why the "frame offset" option exists now, but I haven't verified that... anyway, here's what cleansed the jank for me:

Originally posted by erc:
I got the smoothest mouse response by enabling v-sync alongside disabling the mouse filtering and frame cap in-game, and then changing the 'r_maxfps' value to 59 in the settings.cfg file. No tearing, stuttering or hiccups whatsoever. Try it.
-

I tested this after each step (and tried lots of things before this), and weirdly enough, it didn't work until I set the max fps to 59 in the config file. (Usually setting the max just above rather than below does the trick for some other games, but hey.) For once, I also used the in-game vsync instead of nvidia's, but I kept the rest of your settings on that side. Now the game feels like I'd imagine it should - buttery-smooth and ultra-satisfying at whatever resolution. It might be that if I'd just thought to try "-1" on the frame offset option that might have worked, too - but I don't want to mess with it now!
Post edited August 19, 2019 by TN_Hoff
avatar
putridpete: It's hard to explain it, but it's as if the rendering of the world and objects had a permanent slight stutter. This is just how the engine is and is not the fault of performance hiccups. Learning to differentiate these is key. Even after the above fix you might notice that jankyness. This is not on your end. To see if you have real performance issues, make sure to monitor your FPS drops.
avatar
TN_Hoff: -

This was my experience exactly - that is, afterburner would be showing perfect, stable 60fps after applying these settings. I had an average of 60-ish before, but with big frame drop spikes - so a big thanks for helping to impmrove my experience.

Still - just like you said, there was that jank. OpenGL was farting out 60fps like Old Faithful, but I'd bet a tasty burger a handful of those frames are exactly the same. So - I kept digging and found some comments on Steam from last year. The guy's suggestion seemed like a longshot and another guy was ridiculing it - but it worked. No jank - whatsoever. I think this might actually be why the "frame offset" option exists now, but I haven't verified that... anyway, here's what cleansed the jank for me:

Originally posted by erc:
I got the smoothest mouse response by enabling v-sync alongside disabling the mouse filtering and frame cap in-game, and then changing the 'r_maxfps' value to 59 in the settings.cfg file. No tearing, stuttering or hiccups whatsoever. Try it.
avatar
TN_Hoff: -

I tested this after each step (and tried lots of things before this), and weirdly enough, it didn't work until I set the max fps to 59 in the config file. (Usually setting the max just above rather than below does the trick for some other games, but hey.) For once, I also used the in-game vsync instead of nvidia's, but I kept the rest of your settings on that side. Now the game feels like I'd imagine it should - buttery-smooth and ultra-satisfying at whatever resolution. It might be that if I'd just thought to try "-1" on the frame offset option that might have worked, too - but I don't want to mess with it now!
Yes, I actually have the offset as -1 too in IF and all EDuke32 ports. It does away with the jank, for the most part. I discovered the fix recently as well, since the Ion Fury devs mentioned it in their discord. Their explanation was something about certain monitors not working well with Eduke32's framelock because they operate at say, 59.9hz instead of 60, and that's what the offset option was there for.

I think they also mentioned that if you bring up the dev console (by pressing shift + `) and type r_maxfps 0, it should lock onto your monitor's default refresh rate without issues. Doing that also autosaves it to your cfg file, by the way.
Post edited August 19, 2019 by putridpete