Guidelime seems to be causing some frametime fluctuations at regular intervals while character is running
evind opened this issue ยท 3 comments
Hi, I was fiddling with WoW Classic performance after noticing some microstutters and noticed when my character was running I was having my frametime jump and FPS drop at regular intervals. I initially thought it might be something to do with WoW but the issue didn't occur when I disabled all addons. I re-enabled addons one by one until I found it was only happening with Guidelime enabled.
This isn't actually causing a noticeable issue in-game by itself, but perhaps in combination with other factors it might contribute to a stutter occasionally.
In this image you can see the difference between the left and right halves. I was standing still for the first half and moving for the second. I've also uploaded a video demonstrating the difference between having Guidelime disabled (first clip) and enabled (second clip). You can see when microstutters occur in the graphs in the top left. The actual FPS drop is very small but the frametime doubles from ~6ms to ~12ms.
I figured I'd let you know what I discovered in case it might be an easy fix, but maybe it's not, it isn't really game breaking anyhow.
That happens because Guidelime updates the addon arrow every 0.5 seconds, and with each arrow update, Guidelime checks the step completion status of every step of the guide, that process in itself is very computational intensive if the guide has a lot of steps, that's why it's recommended splitting guides into smaller chunks.
Leaving this open since it could be a good idea to separate updating arrow direction and step completion and doing the latter at a lower rate.
But as Zarant mentioned, splitting large guides is recommended.
Arrow direction was updated every frame while all steps were updated every 0.5 seconds. So updates were already done at different rates.
Nevertheless there could be severe performance issues either with very large guides (as mentioned above) but also with large numbers of map icons (eg with certain quests when unlimited number of additional icons is enabled via options).
I changed the update loop so that now all steps are only updated once the current goal has been reached / left instead of every 500ms (arrow direction is still updated every frame as before).