Extraneum

Extraneum

View Stats:
Some notes for the dev...
After noticing the game felt like it was running at a lower frame rate than it actually was, and being informed it was due to physics, I worked on hacking the physics to match the frame rate. I came up with this coroutine that compiles on launch using Unity Explorer.

public class MyCoro
{
public static IEnumerator Main()
{
while (true) {
yield return new WaitForSeconds(0.0000001f);
UnityEngine.Time.fixedDeltaTime = UnityEngine.Time.deltaTime;
}
}
}

I then execute this line to activate it:

Start(MyCoro.Main());

This results in the game constantly adjusting the physics to the frame rate, making it a lot smoother. This does impact physics calculations. Enemies fly back farther, which is kind of funny, and automatic weapon fire rates are boosted. It's nothing that breaks the game or balance significantly enough for me to not want to use it.

That said, this made it more obvious the game was stuttering. I completely fixed the stutter with a boot.config file with these lines:

gfx-enable-gfx-jobs=1
gfx-enable-native-gfx-jobs=1
gfx-disable-mt-rendering=1
vr-enabled=0
gc-max-time-slice=1
wait-for-native-debugger=0
hdr-display-enabled=0
job-worker-count=32

Time slice in particular made a huge difference.

I was still seeing fluctuations in FPS on E2M2. The rain was the culprit. Once I disabled the object "Rain (16)" using Unity Explorer, the frame rate became stable again. I think there's something wrong with the rain effects.

Hope this helps