Open Uragawa opened 1 year ago
I am having the same issue. I am on Windows and have an SSD. This reproduces in the overworld as well; if you pull a mob and kill it, leaving combat, the hitch occurs. If you pull two mobs and kill one, the hitch doesn't occur. If you later kill the second, it occurs.
I was able to reproduce this with every other plugin disabled on a fresh /xlrestart
.
For both commenters, I also experiencing this problem, @grantwwu are you using DXVK in your Windows?
I ask because my friend uses NoClippy but has no problem, maybe its something with Vulkan only?
I'm not using DXVK as far as I'm aware
On Linux, the suspected culprit is sqlite, which has been introduced into the serialisation flow as of v9. I've been running a self-edited version of NoClippy without the serialisation call in the middle of the update cycle and that solves the problem for me, though it likely kills long-term statistics. I'm also experiencing slowdowns (sometimes hitches, but mostly violent fps drops) in certain parts of the plugin installer which are most likely calling serialisation as well.
Thanks @Uragawa, I'll try the same on my side and recompile without those serializations.
On Linux, the suspected culprit is sqlite, which has been introduced into the serialisation flow as of v9. I've been running a self-edited version of NoClippy without the serialisation call in the middle of the update cycle and that solves the problem for me, though it likely kills long-term statistics. I'm also experiencing slowdowns (sometimes hitches, but mostly violent fps drops) in certain parts of the plugin installer which are most likely calling serialisation as well.
Is the introduction of sqlite Linux specific?
Is the introduction of sqlite Linux specific?
Nope, it's general. Apparently there have been other reports of performance issues on Linux following the change though.
Reporting that this is unfortunately not fixed upstream as of the current incarnation of API 10, please give affected users a way to skip that write or move it out of the framework update loop if that's a possibility.
I've gone ahead and changed it to only save while changing areas. I know its not exactly a real solution, but I'd prefer if Dalamud would fix this or provide an alternative for developers to use to avoid the problem. However, I am open to revisiting this in the future if it is still bothering people and Dalamud can't/won't fix it.
I noticed this experimenting with the code locally after the latest Dalamud update, but just confirmed that it happens in the official version. It has been tested with no other plugins enabled. There's a good chance this issue doesn't affect Windows users, and the problem is all but certain to originate upstream, but for the time being this is reliably causing a brief freeze at the end of every encounter (unless you don't use actions on the enemy at all). It doesn't seem to scale with encounter duration. These are shown in the Dalamud log:
It should be noted that this is all on HDD; I can't say whether it's noticeable on SSD.