Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brief freeze at the end of encounter on WINE #51

Open
Uragawa opened this issue Oct 6, 2023 · 9 comments
Open

Brief freeze at the end of encounter on WINE #51

Uragawa opened this issue Oct 6, 2023 · 9 comments

Comments

@Uragawa
Copy link

Uragawa commented Oct 6, 2023

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:

2023-10-05 21:39:29.537 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 489.8426ms > 50ms - check in the plugin stats window.
2023-10-05 21:41:46.048 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 269.0844ms > 50ms - check in the plugin stats window.
2023-10-05 21:49:58.297 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 331.1141ms > 50ms - check in the plugin stats window.
2023-10-05 21:52:44.592 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 574.4648ms > 50ms - check in the plugin stats window.
2023-10-05 21:53:14.920 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 298.9962ms > 50ms - check in the plugin stats window.
2023-10-05 21:56:41.421 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 393.5624ms > 50ms - check in the plugin stats window.
2023-10-05 22:01:41.565 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 571.0313ms > 50ms - check in the plugin stats window.
2023-10-05 22:02:25.349 -03:00 [WRN] [HITCH] Long FrameworkUpdate detected, 516.7646ms > 50ms - check in the plugin stats window.

It should be noted that this is all on HDD; I can't say whether it's noticeable on SSD.

@grantwwu
Copy link

grantwwu commented Oct 7, 2023

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.

@weeviltime
Copy link

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?

@grantwwu
Copy link

I'm not using DXVK as far as I'm aware

@Uragawa
Copy link
Author

Uragawa commented Oct 15, 2023

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.

@weeviltime
Copy link

Thanks @Uragawa, I'll try the same on my side and recompile without those serializations.

@grantwwu
Copy link

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?

@Uragawa
Copy link
Author

Uragawa commented Oct 17, 2023

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.

@Uragawa
Copy link
Author

Uragawa commented Jul 3, 2024

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.

@UnknownX7
Copy link
Owner

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants