Darth, any word yet on the macro situation?
I can reproduce this 100% on my system and I'm not the only one having issues.
Basically the problem is any sort of macro with a conditional, e.g. [target=player] lowers frame rate by a decent amount. Have enough macros and your game ends up unplayable.
I've tested this a number of times but here's my latest test:
------------------------------------------------------------------------------------------------------
Methodology:
-------------------
1) I deleted my cache and interface folders. I deleted my account folder under WTF (kept the config.wtf file).
2) Loaded WoW and logged in.
3) I went to a nice out of the way spot in Hellfire Peninsula that can be only reached by flying and has no mobs or other traffic.
4) I stared at a wall.
5) Made a note of my FPS over a nice period of time based upon both WoW's frame rate display and FRAP's (they matched).
6) I did a /macro and started to add macros with fixed icons (no ? icons) with the text: /cast [target=player] Renew
7) Kept adding these one at a time keeping watch of my average FPS.
After about 10 of them I closed the macro window and waited for the FPS to settle and made a note of it.
9) I went through and removed all the [target=player]'s from the macros paying attention to the average FPS.
Results:
------------
1) The initial average FPS at step 5 was between 102 and 112 FPS.
2) Steps 6-8, each new macro lowered my FPS until after about 10 of them my FPS was down to around 70fps staring at this same wall (didn't move camera).
3) After removing all the conditionals in step 9 my FPS returned to between 102 and 112 FPS.
Conclusion:
----------------
Conditionals in macros put a MASSIVE burden on the CPU even if they're not actually being used for anything. Purely by existing they chew up a large portion of the CPU and it's a large detrimental effect to performance. Simple conditionals like this shouldn't cause this sort of problem.
Could it just be some buggy code that's causing it to consume more CPU than it should?
Or could it be some sort of client->server interaction for some reason? My latency today is 230ms (where I currently am) which is about the lowest I've seen it, but usually it's around the 450 to 550ms mark.