Many people have issues with stuttering. See for example (should have been a link to reddit, but not allowed to post links) but there are countless threads looking like it. I have the issue as well, so I tried to investigate.
A simple stroll through Dalaran shows the problem and 25man raids as well. 10man raids seems not to be as bad affected.
It sounds like it is UI related, so I decided to see which events the WoW engine fires to the UI. What surprised me is that the UPDATE_SHAPESHIFT_FORM event is fired ALL THE TIME when there are many players arround you (ie. cities, 25man raids). According to the documentation it should be “Fired when the current form changes”. But it is fired hundreds of times just walking arround in Dalaran 20 seconds (and not even not shifting form).
It is clearly a bug that the event is fired all the time. But can it be a reason for microstutter? If addons listen to it and do some processing when it is fired, then that processing will be done many many times and slow down the game. But the problem is also there when disabling addons, how does that make sense? It turns out that the Blizzard UI also uses this event for its action bars and does a lot of processing when the event is fired (in ActionBarController.lua). They even have a comment inthere that says “Shapeshift/Stance Only”, so they do not expect this rapid firing of the event either.
So is this the cause for stuttering? I modified an existing addon to log when the event is fired. And then made an fps graph of my Dalaran stroll. And they match up great. Whenever many (10+) UPDATE_SHAPESHIFT_FORM are fired at the same time, the game has a huge stutter. See the data below in the end of the post.
So how does this match with what people are reporting? My impression sifting through posts on reddit and the official wow forum is:
More CPU power (noteably the AMD processors with 3D cache) reduces the problem, but does not make it go away
Fewer addons reduces the problem, but does not make it go away
Some people dont have problems.
So, does this theory match these observations? Throwing a more powerful CPU at it will obviously make it faster to process the many UPDATE_SHAPESHIFT_FORM, but on the frames where the game raises a crazy amount of them (30+) even a powerful system might be slowed down.
Reducing the number of addons means less addons process the event, and thus reduce the time it takes to process the frame where many events of this type are raised.
The fact that some people dont have problems, does not support the theory. Maybe some people are just less sensitive to a frame taking 30 ms instead of 8 ms to render once in a while?
Can anyone support or decline this theory? And if we can support it, how can we report it to Blizzard? The US forums have a bug reporting area, but I can not post there (Europe subscription). I know Blizzard employees are lurking here, maybe they can pick it up and forward it to a developer?
Data:
Frametime graph: How do I link to an image?
As you notice there are big stutters arround 6 seconds in, 11 seconds in, 14 seconds in and 16 seconds in. Now compare that with the the logging of UPDATE_SHAPESHIFT_FORM. Notice specially how the many events just before 11 seconds match up with the many squiggles on the frametime graph.
Time: 0,583, Count: 1
Time: 4,481, Count: 1
Time: 6,259, Count: 16
Time: 6,360, Count: 19
Time: 6,462, Count: 6
Time: 7,447, Count: 5
Time: 8,547, Count: 5
Time: 9,592, Count: 2
Time: 10,753, Count: 21
Time: 10,848, Count: 24
Time: 10,923, Count: 35
Time: 10,975, Count: 28
Time: 11,045, Count: 8
Time: 11,149, Count: 10
Time: 11,950, Count: 1
Time: 14,297, Count: 9
Time: 15,552, Count: 2
Time: 16,601, Count: 21
Time: 16,698, Count: 12
Time: 17,707, Count: 5
Time: 18,217, Count: 1
Time: 19,044, Count: 6
Time: 20,268, Count: 6