Severe Latency Spikes on Nintendo Switch
Severe spikes in latency. Appears to occur whenever data is loaded and unloaded. Occurs during gameplay and in loading screens. Causes a large number of frames to drop often enough that the gameplay experience becomes unenjoyable compared to PC.
Linked Issues
Created Issue:
Severe Latency Spikes on Nintendo Switch
Severe spikes in latency. Appears to occur whenever data is loaded and unloaded. Occurs during gameplay and in loading screens. Causes a large number of frames to drop often enough that the gameplay experience becomes unenjoyable compared to PC.
Added Linked Issues:
duplicates
Thank you for your report!
However, this issue has been temporarily closed as Awaiting Response.
Version 1.14.1.0 has been released today (you can check the game's version in the Settings). Is this still an issue in the latest version?
This ticket will automatically reopen when you reply.
I will test this right now.
On the previous version, after performing a system update and playing Creeper Woods (where the issue was most egregious), there appears to be significantly better performance, but stutters still occur.
On the latest version, 1.14.1.0, I find that the same experience is orders of magnitudes better. Framerate inconsistencies were another issue that is practically absent from this version; however, stutters are still present at times. This is almost always an issue of cache misses. I realize now, however, that there aren't enough assets as textures and whatnot that can suffice to need streaming texture data, so it seems to be an issue with world generation and caching.
Obviously, I don't know the implementation details, but some speculation would state that the world generation function should be converted to a recursive formula and spread over several ticks; garbage collection should be avoided at all costs; and active world data should be compressed as much as possible to minimize cache misses on Von Neumann architectures. For data that isn't loaded yet, use some sort of place-holder. Asynchronous parallel task queues as LIFO execution stacks for various jobs would be a good idea for that.
Lastly, considering this is a top-down, orthographic perspective with fixed camera angle, it might be practical to implement a render particle system of fixed memory size for all scenes. Updating the world then involves changing the data of each particle to cause a change in what is rendered, and you could implement this easily and cheaply using some shaders and texture objects I presume. It probably makes sense to just store all world data on the GPU anyways which will reduce transmission overhead between the CPU and GPU (unless you want to rely on the possibility that you are running on an iGPU). Then all you have to do is send your platform's equivalent of GLSL/HLSL uniforms for position data, and depending on how it's implemented, world generation data. UE in general is poorly documented, so I would have no clue about how to implement that except from scratch.
Is the issue caused by
MCD-1224, or do the latency spikes occur regardless of using TV mode?This ticket will automatically reopen when you reply.
Yes, it would appear to be so. In fact, there are zero frame drops in hand-held mode, although it should be noted that I started the game in hand-held and then switched to TV mode on this test.