Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

illjazz

macrumors regular
Original poster
Apr 18, 2008
227
2
I have a Late 2008 Unibody 15" Macbook Pro. Here's a little more detail:

Hardware:

Hardware Overview:

Model Name: MacBook Pro
Model Identifier: MacBookPro5,1
Processor Name: Intel Core 2 Duo
Processor Speed: 2.53 GHz
Number Of Processors: 1
Total Number Of Cores: 2
L2 Cache: 6 MB
Memory: 4 GB
Bus Speed: 1.07 GHz
Boot ROM Version: MBP51.007E.B05
SMC Version (system): 1.33f8
Sudden Motion Sensor:
State: Enabled


Software:

System Software Overview:

System Version: Mac OS X 10.6.4 (10F569)
Kernel Version: Darwin 10.4.0
64-bit Kernel and Extensions: No
Time since boot: 4 days 22:03

Graphics/Displays:

NVIDIA GeForce 9600M GT:

Chipset Model: NVIDIA GeForce 9600M GT
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 512 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x0647
Revision ID: 0x00a1
ROM Revision: 3437
gMux Version: 1.7.3
Displays:
Color LCD:
Resolution: 1440 x 900
Pixel Depth: 32-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Built-In: Yes
Display Connector:
Status: No Display Connected

NVIDIA GeForce 9400M:

Chipset Model: NVIDIA GeForce 9400M
Type: GPU
Bus: PCI
VRAM (Total): 256 MB
Vendor: NVIDIA (0x10de)
Device ID: 0x0863
Revision ID: 0x00b1
ROM Revision: 3437
gMux Version: 1.7.3
Displays:
Display Connector:
Status: No Display Connected
Display Connector:
Status: No Display Connected

Memory:

Memory Slots:

ECC: Disabled

BANK 0/DIMM0:

Size: 2 GB
Type: DDR3
Speed: 1067 MHz
Status: OK
Manufacturer: 0x80CE
Part Number: 0x4D34373142353637334448312D4346382020

BANK 0/DIMM1:

Size: 2 GB
Type: DDR3
Speed: 1067 MHz
Status: OK
Manufacturer: 0x80CE
Part Number: 0x4D34373142353637334448312D4346382020

My list of login items looks like this:
- App Tamer
- GrowlHelperApp
- iTunesHelper
- Path Finder
- HazelHelper
- Default Folder X Helper
- Launchbar
- CheckUpAlert
- Choosy
- Watts
- Dropbox
- Blast

For one thing, games perform terribly. And they used to work quite well! I played through all of Mirror's Edge on this machine and everything was silky smooth. Same with COD5 *and* 6, though I do realize those games were very well optimized and designed from the start to have high frame rates. I also played through Dead Space on this.. the performance wasn't as great as on the other titles mentioned but it was absolutely playable and fun.
Now, when I run Amnesia: The Dark Descent or Starcraft II, the performance is absolutely terrible. In Starcraft II I get less than 10 FPS and in both games, I noticed a strange effect. The performance fluctuates. It will run smoothly for about 2 seconds, then the frame rate goes to slideshow-level for about 2 or 3 seconds, then back to smooth, back to bad, ad infinitum.

I did what anyone would try as a first step and killed all apps, especially windowed apps but also background apps that shouldn't really make a difference normally.

I disabled iStat Menus, Hazel and quit Path Finder, Safari, NetNewsWire, Dropbox, Default Folder X, App Tamer, Watts and, well, just about everything that isn't system related. Low and behold.. Starcraft II was suddenly super smooth.. and that with all graphics related settings completely maxed. (A fact rendered all the more stunning when considering that the Starcraft II- suggested settings were a mix of "medium" and "low" for graphics and a screen resolution of something just over 1000xSomething pixels).

Since I disabled or quit just about everything, I have no way of knowing which program was causing the terrible performance.

Does anyone know of an app that can record performance statistics? I'd like to start performance recording, then launch a game and let it run for a bit, then quit and look at the recorded performance data. This could give me a clue as to what is causing the significant performance drop while running high-performance 3D graphics applications such as games.

If I had to guess, I could imagine App Tamer, Blast and perhaps even iStat Menus being problematic. Blast is very handy but has to keep track of what the latest files are that are being opened by keeping a running list of accessed files. I could see this impacting performance when playing a game.

App Tamer is relatively simple but it's also a very young app. It was released a very short time ago and is still barely above 1.0. While it is an app designed to IMPROVE performance by pausing background apps automatically, ironically it could also be the cause of performance problems with apps that don't expect to be paused, for example. It even includes a "gaming mode" that instantly pauses all apps not presently in the foreground.

iStat Menus has been around for a long time and I'd think it's mature enough to not cause performance problems. The only reason I could imagine this being the culprit is because by nature, it has to continually poll the system for the latest hardware sensor data. I could imagine this causing a hit on performance as well, though it's hard to tell how significant that would be.

Anyway.. apologies for this lengthy post. It's frustrating to suddenly have a system that I *know* could perform well perform this poorly. And I want to find out why. A performance monitoring app such as the one I asked about earlier would be a great first step, I think. Any other suggestions or comments are welcome!
 
Two questions:
  • What is your hard drive capacity?
  • How much free space do have have remaining?
 
The traditional approach to finding the systems hog is to first check out Activity Monitor which might point to a CPU hogging client. Then the next step is "divide and conquer". Have half of your background apps running and see how the system performs. If it is still slow, the problem app is still running so you run half of those, otherwise you run half of the apps you weren't running. Repeat until you have found the problem. This works if there is one problem app but not if there are many.
 
Addendum to above post:

Have a look at Activity Monitor ( Applications / Utilities / ) and select All Processes and sort by CPU to see what the culprit may be.

image below uses sorting by CPU as an example
4745264042_9c23afdbc9_b.jpg
 
I know how to use Activity Monitor. The thing is that I'd like to know what's happening in terms of performance WHILE a game is in progress. Hence the question about a way to monitor and record performance data while the game process is executing.
 
With a second system and remote login enabled (SSH access), you could go to the command line and log in via the ssh command and run top. This gives a display like Activity Monitor. Example:

Code:
server:~ admin$ top
Processes: 109 total, 2 running, 107 sleeping, 590 threads             10:02:30
Load Avg: 0.18, 0.18, 0.16  CPU usage: 0.93% user, 2.81% sys, 96.24% idle
SharedLibs: 3288K resident, 4776K data, 0B linkedit.
MemRegions: 14616 total, 740M resident, 20M private, 114M shared.
PhysMem: 779M wired, 1019M active, 1395M inactive, 3194M used, 904M free.
VM: 247G vsize, 1038M framework vsize, 1245713(0) pageins, 2355(0) pageouts.
Networks: packets: 39891426/27G in, 43977934/24G out.
Disks: 1461789/147G read, 3661155/195G written.

PID    COMMAND      %CPU TIME     #TH  #WQ  #POR #MRE RPRVT  RSHRD  RSIZE
94146  httpd        0.0  00:01.05 1    0    12   164  508K   3808K  2268K
62048  top          5.7  00:00.39 1/1  0    24   43   1008K  264K   1584K
62045  bash         0.0  00:00.01 1    0    17   24   288K   244K   956K
62041  sshd         0.0  00:00.00 1    0    11   67   268K   3488K  720K
62033  sshd         0.0  00:00.35 2    1    37   68   524K   3488K  4752K
62032  launchproxy  0.0  00:00.00 1    0    20   35   340K   244K   820K
62003  ocspd        0.0  00:00.01 1    0    25   29   360K   304K   1256K
49412- Python       0.0  00:32.64 11   1    74   253  13M    5296K  17M
48818  mdworker     0.0  00:02.58 3    1    48   59   1496K  5632K  4228K
48789- Python       0.1  02:18.79 14   1    77   279  21M    5296K  28M
48784  Canon IJScan 0.0  00:11.35 4    1    78   108  2568K  2440K  7040K
48775  AppleSpell   0.0  00:00.24 2    1    36   48   984K   5060K  3588K
48772  Image Captur 0.0  00:00.48 3    1    80   70   2356K  4480K  6796K
48769  AppleVNCServ 0.0  00:03.51 6    1    73   77   2372K  288K   23M
 
With a second system and remote login enabled (SSH access), you could go to the command line and log in via the ssh command and run top. This gives a display like Activity Monitor. Example:

top will write to standard out as a log, so while it would be nice to see top running real-time, you can just log top's output and go back to it and see what was going on while the game had the whole screen buffer occupied.

edit: since I'm not sitting at a Mac right now, I couldn't bring up a man page for top, but I found one on the Internet, looks like the -l option is what you'd want (that's a lower-case L)

Note, running top at high frequencies can actually impact the system. You might want to try intervals of 2 or even 3 seconds.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.