Superfetch cache limit


Recommended Posts

FATILA

It always uses as much as it can, when I had 2gigs it performed as yours does.

Link to post
Share on other sites
Brandon Live

Also depends on how you are measuring it. One of the more useful measurements in Task Manager is actually the "Page File" readout. It's poorly labelled in my opinion, as it is actually showing the used memory out of the amount of physical memory + available page file. For example, my machine says 2287M / 8341M right now (4GB memory, 4GB page file).

One thing to remember is that if you have less RAM, Windows is actually going to try to keep some of it (I think 1,000 pages is the default) free no matter what. That means it will use your page file before you RAM is completely full. However, this isn't a bad thing... it's there for a reason (actually a few reasons, including stability and performance).

Link to post
Share on other sites
TheRPG
It always uses as much as it can, when I had 2gigs it performed as yours does.

No it doesn't .. That is "superfetcher" service which Caches all your RAM Vista uses harly 480MB of RAM with full set of software maybe 900Mb.. and rest are free..

Link to post
Share on other sites
UAC

In Windows Vista all free RAM is cache, the whole RAM is like a big cache.

What is a cache? It's a place where to keep the most recently/frequently used application

RAM:

Application1

Application2

Application3

...

What happens when an user executes Application1? If Application1 is present in RAM, it doesn't need to be loaded from the hard disk

What happens when an user executes a newer application? The newer application is loaded from HDD to RAM in an empty memory location

What happens when an user executes a newer application and there's not space in RAM? The application is loaded from HDD to RAM overwriting an existent application

The moral of this story? There're not valid reasons to limit the superfetch cache because free RAM is bad and RAM is like a cache where objects are loaded and replaced if necessary.

Now we can locked this thread.

Edited by UAC
Link to post
Share on other sites
  • 8 months later...
bobsobol

Okay, I've read much flaming and flaming of flamers. I've seen a lot of opinion but not much real info here.

Shame really as that's what I came here looking for.

Here's what I know.

Vista still has XPs Prefetch. It still uses it the same as XP does. If you disable Superfetch (in registry at least) Prefetch carries on.

You can set prefetch to work, only for boot prefetching (drivers and services), for all applications, both or not at all with the following registry key

HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher

The DWord values:-

0 Nothing

1 Applications

2 Boot

3 Everything

The default is everything, but for my money, and the way I use PCs (with almost no pattern to when I boot the system or load an application what-so-ever, installing applications to use them once and uninstall them about 15 times a day) Boot prefetching only is by far the best option for me.

This is where much of this controversy is coming from IMHO. Each of these caching options is based on a common set of uses, defined by Microsoft. Granted, superfetch attempts to be more Heuristic in it's cache analysis... but caching algorithms make a lot of why we choose intel or AMD processors. Optimised for different usage profiles.

I used to like the old days when a drive cache was an optional (or at least replaceable by third party tools) extra to your OS. You could choose SmartDrive, PC Tools, Norton and slew of others. You tried them all out, and picked the one that worked best for you.

So what people are asking for here, is more control over their system.

Mine is running 64-bit with 2Gig... I have to void the warranty on my system to open the case, is that a good excuse for not upgrading the RAM?

I see speed increase with the 64-bit version when I'm using 64-bit specific softwares. Most of the memory intensive stuff I do is Data, not programs, and my system has been closing my applications because it is not able to provide them with the memory they have requested in (what it considers) a reasonable amount of time and has interpreted them as "not responding to the system". The fact that they are waiting for the system to release the RAM they requested before they respond to it is irrelevant to it, and it sends a report to MS and looks for solutions to the problem.

I have less than 5% free RAM when I boot up, gawd knows what it's all used for... I wouldn't consider that a problem if software which is less than 2Meg in program and loading a single 800Meg data file into memory to edit weren't running out of resources (and therefor crashing... but only sometimes) on my 2Gig Vista machine when it worked fine on XP with 512Meg. Typically retrying the operation will succeed. Probably because superfetch has now made room for the data. But a cache that breaks the first attempt at any operation to enable it to happen faster subsequent times is not really very useful to me.

I am not impatient for my programs to load... I don't mind looking at splash screens, I remember loading programs from tape cassette recorders with fondness. Rebooting my computer is also laborious compared to XP or OS X however, and I log in very fast and have to wait for the start menu to populate with Icons for some considerable time before I can click off the one I want while the system is deadlocked waiting for IO responses from my hard drive after a reboot. Again, this is what I know... my CPU is idling, and I'm watching the start menu draw 1 icon per second... this is not CPU usage, but an IO delay.

I've never disabled Superfetch... but with these issues... I'd like to try curbing it a little to see if my system would benefit from it considering the way I use it. It may not, but it would be nice to have the choice

A sharing question, then, is this... There is a registry key:-

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnableSuperfetch

The usual method I see of disabling Superfetch is to Disable the Service. Can I modify this registry key from 3 to 2 to get Superfetch to do only boot caching?

I'm going to try... but it would be nice to see if anyone here has seen some documentation to say yay or ney or well kinda but it's actually more along the lines of.... to it.

Link to post
Share on other sites
Brandon Live
Okay, I've read much flaming and flaming of flamers. I've seen a lot of opinion but not much real info here.

Shame really as that's what I came here looking for.

Here's what I know.

Vista still has XPs Prefetch. It still uses it the same as XP does. If you disable Superfetch (in registry at least) Prefetch carries on.

You can set prefetch to work, only for boot prefetching (drivers and services), for all applications, both or not at all with the following registry key

HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher

The DWord values:-

0 Nothing

1 Applications

2 Boot

3 Everything

The default is everything, but for my money, and the way I use PCs (with almost no pattern to when I boot the system or load an application what-so-ever, installing applications to use them once and uninstall them about 15 times a day) Boot prefetching only is by far the best option for me.

That is highly unlikely. You should not change those settings, your are only hurting your system's performance. It does not matter your usage scenario, there is no usage scenario where prefetching does not have a measurable benefit.

This is where much of this controversy is coming from IMHO. Each of these caching options is based on a common set of uses, defined by Microsoft. Granted, superfetch attempts to be more Heuristic in it's cache analysis... but caching algorithms make a lot of why we choose intel or AMD processors. Optimised for different usage profiles.

This is untrue. The only "common set of uses" is "people who use computers." There are a great many programs on your machine that you cannot disable/uninstall, and they all benefit from the prefetcher. Do you even know what the prefetcher does? It sounds like you do not. It is not really comparable to a caching scheme. It exists to prevent page faults during application startup. It does not load anything until the app is started. There is no downside to enabling it, only lots of upsides.

I see speed increase with the 64-bit version when I'm using 64-bit specific softwares. Most of the memory intensive stuff I do is Data, not programs, and my system has been closing my applications because it is not able to provide them with the memory they have requested in (what it considers) a reasonable amount of time and has interpreted them as "not responding to the system".

Again you misunderstand what is happening. That is simply not how Windows works. If you see a "not responding" message, it means that the window's thread has stopped processing messages for at least 5 seconds. That generally means the app is hung. It has nothing to do with memory allocation. Memory allocation will never fail (unless you turn off your page file, which is really asking for trouble). I also highly doubt you have enough running to use up your 2GB of memory at any given time. Just because there's no "free" RAM (free RAM is wasted RAM), that doesn't mean there isn't plenty that can be abandoned as soon as somebody needs it.

The fact that they are waiting for the system to release the RAM they requested before they respond to it is irrelevant to it, and it sends a report to MS and looks for solutions to the problem.

Again your are misunderstanding what's happening. An application will not hang "waiting for the system to release RAM." Computers simply don't work that way. The time needed to allocate memory will never be a factor in the hung app detection. If an application truly failed to allocate memory, it would almost certainly crash (not hang, but crash). Or pop up an error message of its own, though that is very unlikely.

However, Windows will warn you long before that happens. And it's virtually impossible on a modern system.

I have less than 5% free RAM when I boot up, gawd knows what it's all used for... I wouldn't consider that a problem if software which is less than 2Meg in program and loading a single 800Meg data file into memory to edit weren't running out of resources (and therefor crashing... but only sometimes) on my 2Gig Vista machine when it worked fine on XP with 512Meg. Typically retrying the operation will succeed. Probably because superfetch has now made room for the data. But a cache that breaks the first attempt at any operation to enable it to happen faster subsequent times is not really very useful to me.

You're attributing your crashes to memory usage. They have nothing to do with each other. It is impossible for SuperFetch to cause an allocation to fail or to be slow. Memory cached by SuperFetch takes no longer to reallocate than memory which is completely free. They are the same thing. Your application is failing because it has a bug, or an incompatibility with the system (which most likely means they have a bug).

the system is deadlocked waiting for IO responses from my hard drive after a reboot. Again, this is what I know... my CPU is idling, and I'm watching the start menu draw 1 icon per second... this is not CPU usage, but an IO delay.

This is not normal behavior, and I highly doubt that the system is "deadlocking." There are a lot of reasons your icons could be taking an unusually long time to draw. Trying to diagnose the problem yourself or place blame is a useless practice. Your system has problems. You should take it to a qualified engineer to diagnose and fix them.

I've never disabled Superfetch... but with these issues... I'd like to try curbing it a little to see if my system would benefit from it considering the way I use it. It may not, but it would be nice to have the choice

A sharing question, then, is this... There is a registry key:-

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters\EnableSuperfetch

The usual method I see of disabling Superfetch is to Disable the Service. Can I modify this registry key from 3 to 2 to get Superfetch to do only boot caching?

That does not make sense. SuperFetch has nothing to do with boot "caching." It's main purpose is to keep data out of the page file and in RAM. It's secondary purpose is to pre-load code and data into memory before it is needed.

Link to post
Share on other sites
soldier1st

+1 to what brandon said

superfetch is meant to help keep the system speedy even when you went somewehere for say 3 hours it will stay responsive unlike xp which will lag for a few seconds as it has to reload your data,changing the way the memory management works will only cause problems, also supefetch is adaptive and indeed free memory is bad.also changing your pagefile or even turning it off is a mistake as vista manages the pagefile very well.if your having lag maybe you should either upgrade your hardware or take it to a pc shop and see what they can do to fix it.

Link to post
Share on other sites
Amano
Please stop complaining about something you don't understand!!!

CACHED RAM doesn't mean USED RAM

What are you trying to do exactly with this colored large text? And repeating it like that. It's really funny :D If you don't like the question you may not reply. Also the man is not complaining, try to re-read his post slowly and carefully.

Cached is used :) just overwrite-able and ready to be used if application need RAM.

Link to post
Share on other sites
jjrambo
Again... Please stop complaining about something you don't understand!!!

Superfetch loads data from HDD in LOW I/O priority, it is NOT an intensive process

Windows Vista's memory managment has been developed by engineers, it isn't as stupid as you think.

Don't judge something you don't understand!!!

I will show you in real time that Computer with Vista and Superfetch ON will execute the things slower then the same computer with Superfetch OFF.

MICROSOFT WAY IS NOT AN ALWAYS RIGHT WAY, AND YOU SHOULD BE SMART ENOUGH NOT TO BE NARROW MINDED.

Link to post
Share on other sites
jjrambo
That is highly unlikely. You should not change those settings, your are only hurting your system's performance. It does not matter your usage scenario, there is no usage scenario where prefetching does not have a measurable benefit.

This is untrue. The only "common set of uses" is "people who use computers." There are a great many programs on your machine that you cannot disable/uninstall, and they all benefit from the prefetcher. Do you even know what the prefetcher does? It sounds like you do not. It is not really comparable to a caching scheme. It exists to prevent page faults during application startup. It does not load anything until the app is started. There is no downside to enabling it, only lots of upsides.

Again you misunderstand what is happening. That is simply not how Windows works. If you see a "not responding" message, it means that the window's thread has stopped processing messages for at least 5 seconds. That generally means the app is hung. It has nothing to do with memory allocation. Memory allocation will never fail (unless you turn off your page file, which is really asking for trouble). I also highly doubt you have enough running to use up your 2GB of memory at any given time. Just because there's no "free" RAM (free RAM is wasted RAM), that doesn't mean there isn't plenty that can be abandoned as soon as somebody needs it.

Again your are misunderstanding what's happening. An application will not hang "waiting for the system to release RAM." Computers simply don't work that way. The time needed to allocate memory will never be a factor in the hung app detection. If an application truly failed to allocate memory, it would almost certainly crash (not hang, but crash). Or pop up an error message of its own, though that is very unlikely.

However, Windows will warn you long before that happens. And it's virtually impossible on a modern system.

You're attributing your crashes to memory usage. They have nothing to do with each other. It is impossible for SuperFetch to cause an allocation to fail or to be slow. Memory cached by SuperFetch takes no longer to reallocate than memory which is completely free. They are the same thing. Your application is failing because it has a bug, or an incompatibility with the system (which most likely means they have a bug).

This is not normal behavior, and I highly doubt that the system is "deadlocking." There are a lot of reasons your icons could be taking an unusually long time to draw. Trying to diagnose the problem yourself or place blame is a useless practice. Your system has problems. You should take it to a qualified engineer to diagnose and fix them.

That does not make sense. SuperFetch has nothing to do with boot "caching." It's main purpose is to keep data out of the page file and in RAM. It's secondary purpose is to pre-load code and data into memory before it is needed.

Windows 2008 Server which i use as desktop OS is the best proof of wrong idea such as Superfetch, Windows Search, and UAC in term of performance.

Windows 2008 Server absolutely kills Vista in gaming or in work with applications.

Link to post
Share on other sites
ViperAFK

I have 4 gigs and a 64 bit OS. Superfetch is makes the computer MUCH more responsive then when it is off for me, and it really doesn't use all that much of my memory.

1.16gb being used right now.

post-159052-1209080217.png

Link to post
Share on other sites
+allan
I have 4 gigs and a 64 bit OS. Superfetch is makes the computer MUCH more responsive then when it is off for me, and it really doesn't use all that much of my memory.

1.16gb being used right now.

post-159052-1209080217.png

You're not reading that right :) . Superfetch is caching essentially all of your ram, as it's supposed to do.

Link to post
Share on other sites
nVidiaalltheway

Hmm.

I'm not sure who I should quote on this statement, or where the quote I'm looking for is, but I'm going to give my input anyway.

There's been the big XP-vs-Vista memory performance debate, obviously. I'm going to have to side with XP as being the best OS to this date.

At idle, Vista uses up to 1.5 Gigs of RAM, while XP uses at most 400ish. Not to mention the fact that Vista is technically using more for SuperDurge. It's not a question of how much RAM is being used though, it's HOW it's being used. If you run XP you always have free RAM left so that it's eaiser to load large, demanding applications such as 3D games directly into the RAM. Superfetch, on the other hand, has to make room for whatever you're doing by pushing it's own interests out of the way until it decides your application has enough room. This may explain why it's been proven that running games on Windows XP delivers higher performance.

Link to post
Share on other sites
+allan
Hmm.

I'm not sure who I should quote on this statement, or where the quote I'm looking for is, but I'm going to give my input anyway.

There's been the big XP-vs-Vista memory performance debate, obviously. I'm going to have to side with XP as being the best OS to this date.

At idle, Vista uses up to 1.5 Gigs of RAM, while XP uses at most 400ish. Not to mention the fact that Vista is technically using more for SuperDurge. It's not a question of how much RAM is being used though, it's HOW it's being used. If you run XP you always have free RAM left so that it's eaiser to load large, demanding applications such as 3D games directly into the RAM. Superfetch, on the other hand, has to make room for whatever you're doing by pushing it's own interests out of the way until it decides your application has enough room. This may explain why it's been proven that running games on Windows XP delivers higher performance.

Yeah, okay. If you say so :cry:

Link to post
Share on other sites
giantpotato
Hmm.

I'm not sure who I should quote on this statement, or where the quote I'm looking for is, but I'm going to give my input anyway.

There's been the big XP-vs-Vista memory performance debate, obviously. I'm going to have to side with XP as being the best OS to this date.

At idle, Vista uses up to 1.5 Gigs of RAM, while XP uses at most 400ish. Not to mention the fact that Vista is technically using more for SuperDurge. It's not a question of how much RAM is being used though, it's HOW it's being used. If you run XP you always have free RAM left so that it's eaiser to load large, demanding applications such as 3D games directly into the RAM. Superfetch, on the other hand, has to make room for whatever you're doing by pushing it's own interests out of the way until it decides your application has enough room. This may explain why it's been proven that running games on Windows XP delivers higher performance.

But you're assuming the cached data has nothing to do with the game you're loading. If you assume the cached data is 100% filled with that games data, Vista will have already started to load that game a LONG time before XP. The problem with most people's arguments against Supercache is that they think the cache always consists of data they don't want to load.

Link to post
Share on other sites
ViperAFK
But you're assuming the cached data has nothing to do with the game you're loading. If you assume the cached data is 100% filled with that games data, Vista will have already started to load that game a LONG time before XP. The problem with most people's arguments against Supercache is that they think the cache always consists of data they don't want to load.

Yeah it is cache of the programs you MOST use. it is much more intelligent than xp's prefetch. It learns what programs you use most and even what time you use them.

Link to post
Share on other sites
Brandon Live
At idle, Vista uses up to 1.5 Gigs of RAM, while XP uses at most 400ish. Not to mention the fact that Vista is technically using more for SuperDurge. It's not a question of how much RAM is being used though, it's HOW it's being used. If you run XP you always have free RAM left so that it's eaiser to load large, demanding applications such as 3D games directly into the RAM. Superfetch, on the other hand, has to make room for whatever you're doing by pushing it's own interests out of the way until it decides your application has enough room.

You are mistaken. How this works has been described several times in this thread. SuperFetch never has to "make room" for whatever you're doing. There is no "pushing it's[sic] own interests out of the way."

Allocating cached memory in order to satisfy the game you are loading takes no longer than allocating free memory for the same purpose. Cached memory is not memory that has been altered. It does not get swapped back to the disk. It is merely overwritten when somebody needs that memory.

It is counterproductive for you to spread misinformation like this, claiming that you understand how SuperFetch and Vista's memory management works when you do not. Someone may mistake your information for actual knowledge.

This may explain why it's been proven that running games on Windows XP delivers higher performance.

Please cite a source for this. It has never been "proven" that either OS is better for running games. There are cases where XP will run a particular game better, and cases where Vista will have the advantage. The largest factor in game performance on Vista has been the change in driver architecture. As drivers from Nvidia and ATI have matured, the gap that existed between XP and Vista for many games has closed.

Vista's memory management changes should have no discernable impact on game performance. If anything, it would offer an improvement as Vista's memory management system is most efficient than XP's.

If you really wanted to test this, you could run Vista with the same driver you're using for XP. You won't get Aero / DWM, DirectX 10, or any of the other advantages of WDDM... but it will allow you to remove the driver and driver model from the equation and make a more fair comparison of the rest of the OS.

Link to post
Share on other sites
Roger H.
Hmm.

I'm not sure who I should quote on this statement, or where the quote I'm looking for is, but I'm going to give my input anyway.

There's been the big XP-vs-Vista memory performance debate, obviously. I'm going to have to side with XP as being the best OS to this date.

At idle, Vista uses up to 1.5 Gigs of RAM, while XP uses at most 400ish. Not to mention the fact that Vista is technically using more for SuperDurge. It's not a question of how much RAM is being used though, it's HOW it's being used. If you run XP you always have free RAM left so that it's eaiser to load large, demanding applications such as 3D games directly into the RAM. Superfetch, on the other hand, has to make room for whatever you're doing by pushing it's own interests out of the way until it decides your application has enough room. This may explain why it's been proven that running games on Windows XP delivers higher performance.

Hey, welcome to Neowin :) You sorta have an idea of how things work but you still miss a few things. Loading a large app or game will (or should be) faster in Vista than XP. Simple reason is that the information is already cached. You're thinking that Vista is just gonna cache all sorts of other things then when you load your game it has to first dump the RAM, and load your game. Even though it probably has to dump some of it, the point is it is already in the RAM so it wouldn't have to go to the HDD to get the data. I don't know the technical term but it probably just goes to the RAM and mark the needed data as ACTIVE and therefore it shows up as used in the task manager. XP on the other hand will have to go to the HDD and read 400 -1800MB of data to the RAM and then the game starts. Now tell me, you really think that the XP way will be faster? Here break it down some more:

Vista = 2GB system 1,4GB cached

You launch app

Vista = OH i already have that data cached in the RAM so i can just run the code instead of going to the HDD to get it first.

Vista = App launched,

You click "start game"

Vista = I have some of that data in the cache already, i'll get the rest from the HDD but i'll process the info i already have.

Game starts faster and continues to load

You game on!!!

XP = 2GB system, 400MB used for XP, 1.6GB Free RAM

You launch app

XP = let me get that data from the HDD for you, Please wait.

XP = XP loads 400MB to RAM then game starts (menu)

XP = App launched

You click "start game"

XP = let me get some more data from the HDD for you, Please wait. - Display = "Loading"

You game on!!!

So while i broke it down and it sounds long and tedious it's probably lots faster than you can imagine :)

And a side note, even if Vista had to dump the RAM, we're talking nanoseconds here... so it wouldnt be much slower than XP. This is assuming that Vista didn't cache 1 single byte of your game (which probably would happen after you've first installed it, after a few times that stops since Vista learns you play that game often and therefore caches it to RAM for when you are ready)

Link to post
Share on other sites
Brandon Live
Yeah it is cache of the programs you MOST use. it is much more intelligent than xp's prefetch. It learns what programs you use most and even what time you use them.

Prefetch and SuperFetch are very different things. Despite its name, prefetch doesn't load application data before it is needed.

It merely streamlines the loading process at the point when something is loaded. It reduces the number of page faults hit during the load process. Basically, the first time you run an application - let's say iexplore.exe - Windows watches it and sees that it loads a bunch of DLLs. For example, ieframe.dll and shdocvw.dll. When this happens, the start-up of iexplore.exe is delayed. For each load, iexplore.exe's start-up code is pushed out of the CPU cache in favor of the system's I/O stack and drivers, which are needed to read the file from disk into memory. Then things switch back to the program's code. If you load 20 DLLs during start-up, this might lead to your application being read into the CPU's cache, pushed back out, and then read back in - 20+ times.

To avoid that, the Windows prefetched makes a note of all the files that iexplore.exe loads on start-up. The next time iexplore.exe is run, Windows will attempt to preload those other files so that iexplore.exe's start-up code can run unimpeded by disk seeks and the loading of the OS's I/O code. The difference is usually very significant.

Some good information on the prefetcher is here. Some good information about SuperFetch is here.

Link to post
Share on other sites
+allan

KoDeXeRo - almost, but not exactly ;). As was mentioned previously, superfetch cached memory in Vista is not "dumped", it's simply overwritten. Accordingly, the change is essentially instantaneous.

Link to post
Share on other sites
Roger H.

well good to know :) But i was just pointing out a flaw in his way of thinking. I mean, isn't DDR2 capable of pushing like what? 6GB or something a sec?

Actually:

DDR2 667mhz does 5333 MB/s (5.3GB/s)

DDR2 1066mhz does 8533 MB/s (8.5GB/s)

My point at the time was to say that even if Vista had to discard 2GB of RAM or 3 or even 5GB of RAM, it would take less than 1second. I know now that it doesn't work that way (it's just overwritten) but that was my thinking when i posted the above. He was trying to make it seem like it would take 10 seconds or something for Vista to dump all that cache (2GB or so) to make room for the big game that's going to be loaded from the HDD.

Link to post
Share on other sites
+allan

I understand. Of course, his post was completely wrong on pretty much all counts.

Link to post
Share on other sites
iZoom

Wanted to thank those who have taken time to research and/or provide input on the subject. I tend to read both sides of an issue or question and I'm glad the facts were set out here.

Link to post
Share on other sites
ViperAFK
Prefetch and SuperFetch are very different things. Despite its name, prefetch doesn't load application data before it is needed.

It merely streamlines the loading process at the point when something is loaded. It reduces the number of page faults hit during the load process. Basically, the first time you run an application - let's say iexplore.exe - Windows watches it and sees that it loads a bunch of DLLs. For example, ieframe.dll and shdocvw.dll. When this happens, the start-up of iexplore.exe is delayed. For each load, iexplore.exe's start-up code is pushed out of the CPU cache in favor of the system's I/O stack and drivers, which are needed to read the file from disk into memory. Then things switch back to the program's code. If you load 20 DLLs during start-up, this might lead to your application being read into the CPU's cache, pushed back out, and then read back in - 20+ times.

To avoid that, the Windows prefetched makes a note of all the files that iexplore.exe loads on start-up. The next time iexplore.exe is run, Windows will attempt to preload those other files so that iexplore.exe's start-up code can run unimpeded by disk seeks and the loading of the OS's I/O code. The difference is usually very significant.

Some good information on the prefetcher is here. Some good information about SuperFetch is here.

Some good info there, yeah I just threw in the word prefetch in the wrong context :)

Link to post
Share on other sites
jjrambo
Hey, welcome to Neowin :) You sorta have an idea of how things work but you still miss a few things. Loading a large app or game will (or should be) faster in Vista than XP. Simple reason is that the information is already cached. You're thinking that Vista is just gonna cache all sorts of other things then when you load your game it has to first dump the RAM, and load your game. Even though it probably has to dump some of it, the point is it is already in the RAM so it wouldn't have to go to the HDD to get the data. I don't know the technical term but it probably just goes to the RAM and mark the needed data as ACTIVE and therefore it shows up as used in the task manager. XP on the other hand will have to go to the HDD and read 400 -1800MB of data to the RAM and then the game starts. Now tell me, you really think that the XP way will be faster? Here break it down some more:

Vista = 2GB system 1,4GB cached

You launch app

Vista = OH i already have that data cached in the RAM so i can just run the code instead of going to the HDD to get it first.

Vista = App launched,

You click "start game"

Vista = I have some of that data in the cache already, i'll get the rest from the HDD but i'll process the info i already have.

Game starts faster and continues to load

You game on!!!

XP = 2GB system, 400MB used for XP, 1.6GB Free RAM

You launch app

XP = let me get that data from the HDD for you, Please wait.

XP = XP loads 400MB to RAM then game starts (menu)

XP = App launched

You click "start game"

XP = let me get some more data from the HDD for you, Please wait. - Display = "Loading"

You game on!!!

So while i broke it down and it sounds long and tedious it's probably lots faster than you can imagine :)

And a side note, even if Vista had to dump the RAM, we're talking nanoseconds here... so it wouldnt be much slower than XP. This is assuming that Vista didn't cache 1 single byte of your game (which probably would happen after you've first installed it, after a few times that stops since Vista learns you play that game often and therefore caches it to RAM for when you are ready)

And in reality XP still load and runs thing faster. You missed one step there i will fix it for ya.

Vista = 2GB system 1,4GB cached (HDD Trashes like nuts and by the time it does all cashing, i'm already in game with XP because, Vista feels so bloated while is doing cashing)

Superfetch has less and less meaning as HDD gets faster and faster not to mention Raid 0 with Raptors.

The bottom line is, With Superfetch ON and Superfetch OFF windows still have to load data from HDD to Memory, but the only difference is when. Loading data won't be any faster but limited by hardware factor, but with Superfetch ON it will require more of CPU and HDD time ultimately making whole experience bloated. If you keep Vista computer ON all the time that bloated experience is gone, unless you do enormous data saving to hdd or deleting or you run some new app and games.

From my point of view Superfetch will cache wrong things for 60% users out there. Afterall Superfetch is wasted CPU/Memory/HDD Time.

Now there will be somebody here saying NOT USED MEMORY is WASTED MEMORY. Not true...TAKING MEMORY SPACE FOR THE THINGS YOU DON'T NEED IS WASTED SYSTEM RESOURCE.

Another thing...Superfetch will not give you better performance in games or in your work in professional apps.

Already proved and tested. Windows XP SP3 > faster in term of performance then Vista SP1 in the application written for Vista primarily such as Office 2007, not to mention games.

MICROSOFT WAY IS NOT ALWAYS A RIGHT WAY, but they did a lot of good things i have to be honest.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.