5.0.4 Performance Issue (Similar to D3 Beta)

Mac Technical Support
Prev 1 20 21 22 44 Next
Hey can anyone tell me how does this work ? a step by step procedure? Because im very confused. And ofcourse many people out there having the same issue and they might have no idea how to make this work too. Thanks in advance.
I tried the "suspend thread" method after tinkering around and getting comfortable with Terminal. Although the threads don't appear to be numbered, the 7th thread down was pegged at 100% with nothing else more then like 1%. (I was idle at the login screen while doing this)

I stopped it through gdb and then logged in. The heat situation was a little better, relatively speaking, however temps still fluctuated between 80C and 90C whilst just slumming around Stormwind. I took another look at the threads (now logged in) and threads 1 and 3 were around 42 - 44% for whatever that's worth.

I think I did everything correctly (and learned a little about Terminal & gdb!) but no joy as of yet.

This thread has had many voices in it but also a lot of the same people. I'm wondering how widespread across the Mac user base this is and if it is pervasive, then why aren't we seeing a more public acknowledgement of the problem? I sincerely appreciate the blue responses that we had up until yesterday, however a few posts buried in a thread are not enough.
Dunno what you're on about. Quad-core running 8 processes each pulling 100%" (hyper-threading, remember). I was too lazy to write one process to create 8 threads to do the same thing. System can utilize 100% of available CPU time for one process (i.e. on my system, ps or Activity Monitor will show at or just under 800%).

I didn't measure to see how much the hyper-threading affects what "100%" is (given the way it works, you wouldn't expect one core running one thread to give as much CPU to that thread when it has two threads hyper-threaded on the same core, both trying to use as much CPU as possible).

There's no reason for WoW to run at 800% CPU; it's multi-threaded, most of the threads are for programming simplicity (main loops don't have to poll for conditions or sockets). It looks to me that, absent the runaway thread issue, WoW puts all the heavy lifting into two threads (one for world updates, one for graphics processing), so at most you'll use two cores plus a little. However, even if they made it more parallel, that doesn't mean you'd get a better experience if it ran at 100% of all cores/processors.

Once you get FPS above your refresh rate, FPS doesn't really matter. I don't find it makes much difference to run it above 30FPS. If that ends up with the two heavy-lifting threads running at 70-80%, then that's probably all you'd need, running at 300% or 400% simply wouldn't make anything look more gorgeous, and your primary bottleneck is going to be the GPU throughput. With FPS unlimited, turning up the graphics level reduces CPU load.

I can get as low as 15fps in a 25 man raid, with a single wow open, i can fire up 2 more wows and D3, and my fps is still 15. Or bring 2 wows to same raid and they are both 15fps. how is it that i can have 2-3 wows open at equal performance of just 1 open? because i have a LOT Of unitilized power. if it's only threading to 2, and it's got pending threads to those 2, it's not going to do more then that, so it is sitting there waiting and causing lag. Yet i can fire up other programs, or even other wows, and those wows have plenty of cores left to thread to, each unaffecting the lag of the other clients, at least to the point where your vid card finally gets strained.
as for hyper threading, you're assuming only latest mac pro. the newer intels mask a lot of the problems with core usage because of technologies that let it boost used cores by turning off unused ones and other such nifty things. But you don't consider intels that simply lag cause the USed cores are baring too much load while unused ones idle. it's not just 8 virtial cores either, it's two cpus with 4 virtual cores each. it may leave an entire phystical cpu with nothing or little to do in it's current state. There are games with MUCH better graphics that run smoother then wow does. it's been one of wows problems for years just how terrible it is with cpu usage. Although i don't thnk any of that can really be fixed by mac team. that's a different area. Also not sure how much we can expect out of OS X either. I just look forward to getting much more powerful computer in next few months to year hopefully so i can just power through wow's low performance by GREATLY exceeding the specs. that's about the only thing that makes the game run well, far exceeding the specs such an old engine/graphics game needs. :\

None the less, none of that really pertains to the bug discussion here. Nor is it anything i know the mac team can do anything about, so not much point in dwelling on it. I only mentioned it briefly in earlier post in a wishful thinking moment.
Wyb,

To see if the problem is alleviated, leave Activity monitor open after you get the PID. Look at the CPU usage before you attach to the process, and look at it after. Ensure in WoW you are on the title screen and haven't logged in. If the process worked, you will see your CPU usage has decreased drastically. This is not a grey area solution, if the solution worked for you, you will see that CPU decrease- probably from 100% ish before suspending the thread and down to something like 2%-3% afterwards.

As Omegal has been sure to point out numerous times, the Macbook line does have heat problems. I can report a temp drop of 100c + before the solution, and now, I'm playing at 60c. (I kid you not.) However, I also have a cooling pad. My model is a late 2009 dual core- maybe yours is different. I have a box fan blowing right next to my computer as well. Maybe the Blues default answer actually is correct, and your machine is dusty. (Don't get mad, I'm just using an example, I'm sure your machine is clean.)

My point is that CPU usage is the issue we have been focusing on in this thread. Please report your results based on that, rather than on heat, which can be influenced by great many things.

Also, I truly believe many if not all Macs are having this problem, solely because its clearly rooted in the application. I think some people may not be as in-tune with their systems, or their system may be more efficient at dispersing heat- the obvious symptom, and therefore they would not even know they had the problem unless they looked at activity monitor.
08/31/2012 08:32 AMPosted by Omegal
I do live for the day though that wow can benefit from the threading of more then 2 cores.


It's using three cores from what I can tell. There's no way you can get 260% CPU on two cores. Activity Monitor under that condition (the 260%) showed an almost dead even load on all four of my two CPU's cores for about 65% total load on each core. That's the only thing that kept my CPU temps from going ultra high in the first place.

Unfortunately the GPU has no extra "cores" and once pegged at 100% it heats up fast, and causes major slowdown since it no longer has room to handle its normal workload.
08/31/2012 04:05 PMPosted by Upgrade
Also, I truly believe many if not all Macs are having this problem, solely because its clearly rooted in the application. I think some people may not be as in-tune with their systems, or their system may be more efficient at dispersing heat- the obvious symptom, and therefore they would not even know they had the problem unless they looked at activity monitor.


Yep. I have it & my brother has it, and we both use relatively new Macs. We actually were talking about this yesterday when I pointed out that my heat & fans were going crazy since the patch. CPU usage skyrockets after just a few seconds in the game. I'm really grateful for this thread, but I'm not confident enough in my terminal skills to attempt any fixes myself. Thank you to Blizzard for looking into this, and here's to a swift and effective patch!
Wyb,

To see if the problem is alleviated...


First off, the additional info is greatly appreciated. I checked the Activity Monitor and as suspected, WoW was at 104%. Once I stopped the thread it dropped to like 10%. In-game, it's running at around 35%.

My Mac is a late 2011 MB Pro 2.2 i7, purchased in late Jan of this year. I use a cooling pad with one fan. Pre-patch I was typically in the 70 - 77C range, maybe 79C when doing dungeons etc.

I set SMC at around 5500 RPM for both fans and I'm in the 60 - 70C range right now flying around Stormwind. Will do a few things to see if I can stress it a bit. I did notice what looked like some weird shadowing when I was flying.

Anyway, much appreciated with the help and I'll keep tinkering with it to see where I wind up. At least I'm learning something!
I ran a random dungeon and the temps were OK. I did notice that the FPS held around 30. Prior to the patch, my FPS was much higher and basically the same if I was in a forest by myself or running a random. I tried lowering the graphic settings without much of a noticeable difference.

I'm more than happy that I can play now with the work around but it's frustrating to have such a markedly different experience and not for the better.
Once you suspend the problem thread (or once Blizzard fixes the issue), the usual methods to reduce heat should work fine.

First, if heat is an issue, you MUST limit FPS. Try it at 20, then push it up until either you don't notice a difference visually or it starts to get too hot. I find 30FPS to be fine, anything above 60FPS (assuming a 60Hz refresh rate, which is what most LCD screens are set to) is unnecessary.

I also always set my background FPS to the minimum, so if I go do something else it isn't needlessly wasting power to compute frames I'm not really watching anyway.

Second, turn down the graphics setting. For a given frame rate (set by the limiter), the lower the graphics quality the less heat it will generate (most of the savings in the GPU).

Third, you could even try running it in a window and reduce the size of it. Fewer pixels means less computation. Again, this will only help if FPS is limited.

As for the discussion about cores, etc. Hyper-threading creates virtual cores, all the others are real, whether they're one per processor chip or two or four. Yes, there are interactions between multiple threads, so that 8 threads running on 8 cores at 100% each may not be doing 8 times as much processing as 1 of those threads on an otherwise idle system; the mechanisms are varied, some are deliberate (reducing speed as utilization goes up), some are inherent (hyper-threading), some are contention (memory accesses, cache coherency), some are resource based (interlocks), some are side effects (reducing speed as heat increases).

WoW's model is to put almost all the processing into two threads. One thread can not use more than 100% of a core, whatever that core may be on a particular system. If you have 2 quad-core chips, hyper-threaded so you have 16 virtual cores, but your chip is half the speed of my single quad-core non-hyper-threaded chip, my system will be effectively twice as fast as yours running WoW (assuming both graphics chips are capable of keeping up, and you're running into limitations, such as 15FPS in a 25-man raid), but I'll be using a larger percentage of my max capacity.

This isn't Apple's fault, it's inherent in the way WoW has been programmed. Be thankful that it's multi-threaded at all, otherwise you'd be seeing 5FPS. Yeah, wish for Blizzard to improve the multi-processing, but don't blame it on Apple, Mac OS (with the underlying Unix architecture) is perfectly capable of using all those cores with multiple processes and multiple threads per process.
Well, to be honest, I'm glad I'm not the only one having this problem. My Macbook Pro was bought last April, but had a brand new hard-drive put in early June of this year and a new disc-drive at the same time. I thought it was those at first, but then I realized it was only after the new patch.
My fans sound like they're going into warp-speed constantly now. But I'm glad it's getting worked on!
I've tried most of the above solutions to no avail. Now it's the waiting game.
Edit; I'm running 10.6.8 and quite frankly can wait for a fix without having to delve around the depths of my computer.
I ran a random dungeon and the temps were OK. I did notice that the FPS held around 30. Prior to the patch, my FPS was much higher and basically the same if I was in a forest by myself or running a random. I tried lowering the graphic settings without much of a noticeable difference.

I'm more than happy that I can play now with the work around but it's frustrating to have such a markedly different experience and not for the better.


I don't mean to insult your intelligence if you tried this, but if you find yourself stuck at 30 and want to go higher go into advanced settings and make sure Vertical Sync is set to "Off".

Sometimes the game seems to randomly turn mine back on and I have to wonder for a few seconds before remembering to check it.

Also I usually cap my fps at 30. I have realized that there is no downside to this, because while I DO notice a slight difference in smoothness between 30 and say, 60, what I actually notice more is the when the frames drop. If they are set to 30 constantly, (My late 2009 MBP can maintain 30 in almost any scenario), There is no fluctuation and game play seems smoother overall.

Even if you have a super computer, I still recommend capping your fps at your refresh rate with the slider in advanced settings. Even if it's at the maximum (As tiger said, probably 60). I have found that this drastically reduces heat across the board.

Good luck and hope we are being of some assistance!
For those who want a more Layman's Terms version of how to implement the fix Tiger described, here is my best crack at it (I have no formal programming or any other applicable training). As always I encourage you to steer clear of this if you still find it intimidating.

Please read the whole post before attempting so you know what to look for.

--------------------------------------------------------------------------------------

1. Go to https://developer.apple.com/downloads/index.action. You will need to register as a developer if you have not, but it's free and you only need to provide your Apple ID and answer a couple questions.

2. The only thing I needed to download was "Command Line Tools (For your OS)." Install from the file that downloads.

3. Once installed, open up WoW, leave it on the login screen and forget it for now.

4. Open up Activity Monitor. Note that the CPU usage for WoW should be hovering around 100%. This is what is causing your excess heat, and in turn your fans to spin out of control.

5. Take note the WoW's PID, which is a four digit number displayed in the left-most column of the pane. For this example, I will abbreviate it as XXXX.

6. Now open up Terminal. Type the following lines, hitting enter after each:

gdb -p XXXX [Hit enter]

---gdb will add a bunch of lines as it attaches to the process---

thread 7 [Hit Enter]

thread suspend [Hit Enter]

quit [Hit Enter]

y [Hit Enter]

--------------------------------------------------------------------------------------


You can now close terminal. Check the Activity Monitor again, and WoW's CPU usage should be much lower. Mine is always at 3% on the login screen. At this point you can have a couple outcomes:

WoW stops responding - See below in the notes section, this is not a reason to panic. You probably just need to try again. Note that when you reopen WoW the PID will have changed.

CPU is low, but your computer is still hot - This means your heat/performance issue is not related to this issue, and you are experiencing something different.

Your CPU usage and heat are both decreased- Congratulations, you fixed it!

Notes:
If you took a long time to enter the lines into Terminal, the WoW app may stop responding. This is not a problem and will not harm your computer or game; simply force the application to close and try again.

I have also noticed that after the computer has been turned off or asleep, the first time I do this, WoW often stops responding. I am not sure what the reason for this is, but the second time I am always able to get it to work.

Good luck, and I hope this makes things clearer for those who can't bear to wait for a fix from Blizzard.
If it freezes when you try this, it's because thread 7 had called into a routine that didn't like being suspended suddenly. Growltiger posted instructions a couple pages back on how to avoid it. Paraphrasing:
  • Once you're in GDB, type "thread 7".
  • Type "where" (a long list of output (the call stack) will appear).
  • Find the last line that has "GetBattlenetAllocator" in it - usually fourth from the bottom.
  • Look at the line above that line and note its frame number.
  • Type "frame f#" where f# is the frame number you just noted.
  • Type "finish".
  • Type "where" and verify that "GetBattlenetAllocator" is now the first line.
  • Type "thread suspend 7".
  • Finally, type "quit" and respond "y" when it asks if you want to detach.
  • What you're doing is letting the various code that GetBattlenetAllocator called finish what it was doing, and only suspending the thread once it's back inside GetBattlenetAllocator. From all appearances, it's safe at that point. Since I started looking up the proper frame and letting it finish, it's worked every time.

    Good luck!
    08/28/2012 02:03 PMPosted by S4d1k
    Limiting the FPS should make a huge difference in game. At the login screen, you won't see a big difference.

    In my case, I don't think limiting the FPS in the settings is going to help much - I haven't seen anything better than 9 FPS since installing this patch.

    Edited and redacted - it was apparently an addon issue causing my low FPS.

    D'OH! Sorry.
    Hey Upgrade, I just followed your method, and honestly, you listed the steps as simple as possible! My CPU went from 110% usage to now roughly around 30%. My fans instantly slowed down and everything seems to work! The strange thing is, my Bnet is still up lolol.

    Again, thank you Growltiger and Upgrade for all the help!
    woot! thanks so much guys, that fix worked =)
    Having the same issues as everyone else, I suppose (tiling/shapes flashing). I know i need to up the mem to 4gig but currently I am running:
    2007 MacBook
    OSX v10.6.8
    2.2GHz Intel Core 2 Duo
    Intel GMA X3100:
    Chipset Model: GMA X3100
    Type: GPU
    Bus: Built-In
    VRAM (Total): 144 MB
    Vendor: Intel (0x8086)
    Device ID: 0x2a02
    Revision ID: 0x0003
    After the ram is upgraded from 1 to 4 gigs what else needs to be done?
    I've deleted those 3 files and messed around with the sliders in the system menu (in game) to no avail. What happened with this patch? Was working fine before update.
    Thanks for the laymans steps :)

    Worked nicely with the temp never going over 165 degrees and cpu load at 50% at max.
    I used the solution on this page and it worked like a charm. Temp and CPU usage back to normal. Thanks everyone for your help and hard work.

    I'm sorry if I sounded like a butt a couple times in this thread. Baby acts like a baby if he doesn't get his WoW *puts thumb in mouth and pouts*

    Join the Conversation

    Return to Forum