Helping people with computers... one answer at a time.
There's memory and then there's memory. I'll look at the difference between system RAM and video memory and how they're used. And ReadyBoost makes an appearance.
Would it be possible to explain how different memory options interact with one another?
For example, suppose a computer has 2GB installed RAM and a 1GB Nvidia graphics card:
I'm thinking I should know the answers, but I'm just not getting my head wrapped around all of this.
You're most certainly not alone. The concept of memory in it's various flavors, forms, and guises can be very confusing. Add some marketing-speak and ... well, it's enough to test your memory, that's for sure.
So, I'll review the difference between the memory in your system versus the memory in your video card and why they sometimes overlap.
And then I'll look at ReadyBoost and discuss why it doesn't really relate to either.
I know that this is obvious to many, but it's a confusion that I see surprisingly often.
When we talk about "memory," we are not talking about what is stored or remembered on your computers internal hard disk. The question I see often relates to having filled up the hard disk storage on a computer and thinking that you're "out of memory", which is not the case at all.
The term "memory" in most cases refers to RAM - Random Access Memory - that's the memory that holds programs when they are running and the data that those programs might be working on. RAM requires power to be applied to retain what it holds, so when you turn off your machine, RAM is erased instantly.
The process of booting your computer is nothing more than a glorified and complex sequence of reading programs - like Windows itself - from the hard disk, loading it into RAM so that it can be run.
Video memory gets confusing very quickly, simply because there are several possibilities as to how it might be implemented1:
The video memory might be completely self-contained on the video card and used exclusively by the video card's graphics processor (GPU). In this scenario, video memory actually has no direct relationship to the RAM in your machine.
The video memory might be "visible" to your computer's CPU and appear as if it were part of your computer's RAM. In a sense, the video memory is shared between the graphics card's GPU and your computer's CPU. In this scenario, the video memory "counts" against the RAM that your CPU processor is able to access. For example, if you have a 32-bit processor, your CPU can only access four gigabytes of memory and the video memory that might be shared with your graphics card counts as part of that.
The video memory might not exist. This is less common of late, but several years back inexpensive graphics cards had no video memory of their own and simply used some of the RAM in your computer for their purposes. This naturally reduced the amount of available RAM for Windows and your running programs.
The good news is that in recent computers, higher end graphics cards often follow the first model, and the move to 64-bit operating systems makes the second model irrelevant. Falling prices for RAM have made the third approach pretty much a thing of the past.
So, with those two things out of the way, let's look at your specific questions.
"What data gets stored in RAM and what data gets stored in the graphics card?"
Nothing that you would recognize gets stored in the video card.
By that, I mean that nothing you might consider the data belonging to Windows or the programs running under Windows gets placed into video memory. Instead, that's what the system RAM is for: your running programs, the data that they might be working on, and so on all get placed into your system RAM.
Video memory is concerned almost exclusively with the pixel-by-pixel representation of what you see on your screen.
Consider a display that is 1920 pixels wide by 1080 pixels high - the current definition of 1080p HD. That's a total of 2,073,600 pixels. If you're using 24-bit, full-color that's three bytes per pixel at a minimum required to represent what's on the display, or around six megabytes.
That's the kind of thing that gets stored in video memory.
I can hear you saying: but six megabytes isn't one gigabyte! Indeed. I did say that it's the minimum required to hold a pixel-by-pixel representation of a 1920x1080 display. In reality, many graphics cards have become little micro-computers themselves. Graphics circuitry now often includes things like built-in complex 3D functionality, multiple monitor support, and many featurs targeted at high-speed rendering of everything from animations to immersive 3D environments.
Ultimately, graphics cards use their memory to perform those tasks behind the scenes.
"Does a portion of the 2GB RAM still get set aside (memory mapping?) because of the 1GB Nvidia?"
But probably not.
Unless you have a particularly old and cheap graphics card, it will in all likelihood bring along its own memory and that will be used without impacting your system RAM. The only case where this might not be strictly true is the case of a 32-bit machine in which you have placed a full four gigabytes of RAM. Your video card might contribute to your system not being able to access all four gigabytes as system RAM.
"What happens if a 4GB (or 2GB or 8GB) flash drive is plugged in and used as Ready Boost?"
At least nothing we've talked about so far.
ReadyBoost is completely unrelated to your system RAM and your video memory.
As a result, adding a flash drive and using ReadyBoost has absolutely no impact on the concepts discussed above. What goes in system RAM still goes in system RAM and what happens in video memory stays in video memory.
So what is ReadyBoost good for?
In my opinion, not much.
ReadyBoost, as I understand it, is simply a technology used to make loading programs into RAM faster. Windows places "some" things onto the ReadyBoost device so that when they are needed, they are read from it instead of your presumably slower hard disk.
I know some folks have reported performance improvements using ReadyBoost. That's great for them, but I remain very skeptical and typically don't consider it worth the effort.
"Which computer would provide the best performance and why?"
Well, my stance on ReadyBoost should be clear by now, so I'll remove that option from the table; in my opinion, there's really no benefit to it and comparing it in a system configuration without it is very much comparing apples to oranges.
As for the rest, my standard answer: it depends.
It honestly depends on how you use your computer. It's very possible that your usage may not require four gigabytes of RAM.
But, on the other hand, Windows loves RAM and it's always better to have too much than too little.
That's one of the reasons adding RAM is one of my first recommendations for speeding up a slow system.
So, of the choices presented ... more system RAM wins, without question.
My recommendation in general when considering a new machine is two-fold:
Make sure that the system you're about to buy can be upgraded to more RAM than you think you need today.
Consider upgrading now anyway and putting in the maximum amount of RAM now.
The fact of the matter is that systems and software only creep upward in terms of requirements over time. What worked great in 2GB three years ago might be struggling today. It's easier to simply prepare for that eventuality from the start.
Comments on this entry are closed.
If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.
If you don't find your answer, head out to http://askleo.com/ask to ask your question.