Motherboards Memory Storage Cases/Cooling/PSUs IT Computing Displays Mobile Mac CPUs & Chipsets Video Digital Cameras Linux Gadgets Systems Trade Shows Guides Home Increase Font Size Decrease Font Size Change Page Size
How Much Video Memory Do You Need in OS X?
How Much Video Memory Do You Need in OS X?
Date: July 16th, 2009
Topic: Video Card
Manufacturer: None
Author: Anand Lal Shimpi
Buy the EVGA 01G-P3-1080-TR GTX 285 GeForce
Blank
 eCost $459.99
 Amazon $426.49
 Apple $449.95
 
 

As I mentioned in an earlier post, I’m working on a review of EVGA’s GeForce GTX 285 Mac Edition. I just finished writing a section about GPU memory usage under OS X (since the 285 has a hefty 1GB frame buffer) and thought I’d publish it as a standalone before the review is done. I've been considering doing more things like this in the future, where you get pieces of a review as I finish them before the full thing is done. Let me know what you think.

How Much Video Memory Do You Need in Mac OS X?

Honestly, one of the biggest uses for a new graphics card under OS X is having additional video memory.

The contents of each window and the windows themselves are drawn by the GPU and stored in video memory. Previous versions of OS X either drew windows in system memory and then composited all of them in video memory, or did everything in system memory and just outputted the final scene to the video card. Ever since OS X 10.4, the entire drawing and display process happens on the GPU and in video memory. Ars Technica’s John Siracusa has an excellent explanation of the whole process.

Each window gets treated as a 2D OpenGL surface and all of the character and image rendering, blending and display happens on the GPU. The GPU is much faster at all of this than the CPU so it made sense. The result is much lower CPU and system memory usage. What it also means is that the amount of video memory you have matters.

If you run out of video memory, the GPU has to swap data in and out of system RAM. The trip to system memory is much higher latency than just grabbing windows from video memory, and thus we see performance suffer. Faster memory busses and PCIe 2.0 both help minimize the impact, but it’s there nonetheless.

The issue is never about how many windows you can have open, but how smoothly effects like Dashboard and Exposé run. Those depend on having enough video memory to store/manipulate all open windows.

I ran some tests to figure out exactly how much video memory was enough for a single display. I started with a blank desktop and measured available video memory. On a 512MB card, at 2560 x 1600, you end up with 488MB of free video memory in OS X 10.5.7.

Depending on the contents of the windows you open, their memory requirements will differ. I found that a full height Safari 4 window showing the AnandTech home page was pretty stressful from a memory footprint standpoint. A single Safari 4 window required 7MB of video memory at 2560 x 1600. Finder windows are much cheaper, some application windows are much more expensive (more on this later).

With a single window requiring 7MB, 10 requires about 70MB. Now things don’t always scale linearly and there’s additional overhead for dealing with more windows. At 10 windows that overhead appears to be around 1MB. While a single Safari 4 window needs 7MB at 2560 x 1600, ten will need around 71MB; twenty windows will need 144MB.

Lower resolutions require less video memory. At 1680 x 1050 the cost per 10 windows drops from 71MB to 44MB.

I extrapolated the data out to 130 Safari 4 windows and presented the video memory requirements, dependent on resolution in the graph below:

If you have a 30” monitor running at its native resolution (2560 x 1600), a 512MB video card will get you just under 70 windows.

Note that not all applications play nicely. Take Photoshop CS4 for example. One of its major features is the ability to enable OpenGL acceleration within the application. With each image being OpenGL accelerated you get benefits like being able to zoom and rotate smoothly, the downside is that each image you open in Photoshop now eats up even more video memory.

Under OS X each 12MP image from my digital camera that I open in Photoshop eats up around 56MB of video memory (at 2560 x 1600)! To make matters worse, OS X won’t reclaim all of the memory even if you close all of the images in Photoshop. You need to exit Photoshop to get all of your video memory back.

While it would take 70 normal windows to max out the 512MB of video memory on a GeForce GT 120 at 2560 x 1600, it would take less than nine 12MP images open in Photoshop to do the same. And once again, you don’t get that memory back when you close your images - only after you exit Photoshop. Most other windows in OS X will give you your GPU memory back as soon as you close the window.

If you find yourself doing a lot of work in Photoshop, you’ll want to either limit the number of images you have open at once or disable OpenGL acceleration. And by all means, quit the app once you’re done editing. Of course you could always move to a graphics card with more memory...

Home

 
  Index

Tools Share
Find lowest prices Find the lowest prices
Digg   del.icio.us   E-mail  
Print This Article Print this article  

29 Comments - Last by jacklang0005, 20 days ago
Username:
Password:
what about a comparison by alpensiedler, 127 days ago
it'd be nice to see a vista or ubuntu (compiz) comparison. i wonder which os does best with video memory usage.

Reply
RE: what about a comparison by inighthawki, 126 days ago
agreed, as well as windows 7 to see if they optimized anything there.

Reply
RE: what about a comparison by Souka, 126 days ago
Isn't this really an Adobe issue, not an OS?



Reply
RE: what about a comparison by inighthawki, 124 days ago
what does adobe have to do with how much memory the OS uses for a gui window?

Reply
RE: what about a comparison by Souka, 123 days ago
I do understand that OS X has a "problem" with video memory, based on this article.... my question was in reference to this statement: "And once again, you don’t get that memory back when you close your images - only after you exit Photoshop"

So if I open 50 Safari windows...then close 49 of them. the memory footprint will still be that of 50? If so...then yes, OS issue..got it.

:)

Reply
RE: what about a comparison by inighthawki, 123 days ago
oh ok i understand, in my previous reply i was targeting how much video memory a single window uses in win7 compared to osx (which OS uses less video memory), not necessarily reclaiming memory.

Reply
http://www.ebuyings.com by jacklang0005, 20 days ago
=========================== http://ta.gg/3n2 ======================== =========================== http://ta.gg/3n2 ========================
the website wholesale for many kinds of fashion shoes, like the nike,jordan,prama,****, also including the jeans,shirts,bags,hat and the decorations. All the products are free shipping, and the the price is competitive, and also can accept the paypal payment.,after the payment, can ship within short time. < http://ta.gg/3n2 > free shipping < http://ta.gg/3n2 > competitive price < http://ta.gg/3n2 > any size available < http://ta.gg/3n2 > accept the paypal < http://ta.gg/3n2 > our price:Air jordan(1-24)shoes $33UGG BOOT $50Nike shox(R4,NZ,OZ,TL1,TL2,TL3) $35Handbags(Coach lv fendi d&g) $35Tshirts (Polo ,ed hardy,lacoste) $16Jean(True Religion,ed hardy,coogi) $30Sunglasses(Oakey,coach,gucci,Armaini) $16New era cap $15Bikini (Ed hardy,polo) $25

Reply
Well, you can calculate it... by psychobriggsy, 127 days ago
I'd imagine that video memory would be:

desktop X * desktop Y * 4 (32-bit screen) * 2 (double buffering)
+ for all windows
window X * window Y * 4 (32-bit screen). I don't know if there is a display image and a render image, or if that is configurable in the application itself (e.g., to prevent tearing in videos Quicktime might have a display and render texture, but a normal window doesn't need that).

So, 2560x1600 would be 16MB a window. Your Safari windows were nearly half-width but full height? That would explain 7MB a window. The desktop is probably 32MB straight up (double buffered), and the background picture another 16MB. However it is possible that Apple uses some form of texture compression for these types of texture.

Reply
RE: Well, you can calculate it... by haplo602, 126 days ago
texture compression is part of the opengl driver, you just enable it and that's all I guess ...

Reply
RE: Well, you can calculate it... by psonice, 126 days ago
I doubt they're using texture compression. Also a screen-sized window doesn't necessarily mean you need to store the full window in video memory - it depends on how the compositing works.

E.g. instead of drawing the complete window and storing that in memory, the compositor can draw just the window elements and draw them all to screen when they're needed. So you'd just store the close/maximise/etc buttons, the window frame (which can be a repeating texture and take very little space), scroll bar buttons, standard UI buttons, and then the actual window content.

Note that when you do it that way, there's a lot of duplication when you have multiple windows, and you only need to store most of the window elements once.

I suspect that fillrate and memory bandwidth actually get just as important as vram when you have a lot of windows open, because you're effectively asking the GPU to draw every window at once when you use expose - if that's 1gb of texture data, that's a lot of drawing + moving in/out of memory.

Anand: how was performance when you got close to filling video memory but hadn't quite filled it?

Reply
Comments Page 1 of 3

Deliver Rich Interactive Experiences
Engage more viewers with Adobe® Flash® Media Interactive Server 3.5
Vinpower DVD Duplicator
Manufacturer of quality disc duplication systems. Drop shipping available. Become a reseller today.
Unlicensed Software at Your Last Company
Anonymously Report Unlicensed Software with Our Form Now. Get Up to $1 Million.
Special Offer from The Economist
Get 12 issues of The Economist for $12. US subscribers only.
Unlicensed Software at Your Last Company
Anonymously Report Unlicensed Software with Our Form Now. Get Up to $1 Million.




Latest news by
DailyTech

 November 20, 2009

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank

 November 19, 2009

Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank


Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
Blank
more Video Card Discussions



pipeboost
Copyright © 1997-2009 AnandTech, Inc. All rights reserved. Terms, Conditions and Privacy Information.
Click Here for Advertising Information