Home > Gaming, Hardware and Software, Visual Studio 2005, Windows Vista > SuperFetch Not So Super For Gaming…

SuperFetch Not So Super For Gaming…

March 27, 2007

According to Microsoft, SuperFetch is:

Windows SuperFetch enables programs and files to load much faster than they would on Windows XP–based PCs.

When you’re not actively using your computer, background tasks—including automatic backup programs and antivirus scans—run when they will least disturb you. These background tasks can take up system memory space that your programs had been using. On Windows XP–based PCs, this can slow progress to a crawl when you attempt to resume work.

SuperFetch monitors which applications you use the most and preloads these into your system memory so they’ll be ready when you need them. Windows Vista also runs background programs, like disk defragmenting and Windows Defender, at low priority so that they can do their job but your work always comes first.

Source: http://www.microsoft.com/windows/products/windowsvista/features/details/superfetch.mspx

Cool beans, huh?  Pre-caching, in a way, and using your memory to it’s maximum is a GOOD thing—it really is.

However, for those of us who run rather memory intensive applications, it’s not.  Point blank.

How I understand SuperFetch is that, similar to the prefetch trace files (.pf) created in Windows XP; however, takes it a step further and completely utilizes 100% (I have 4GB, I had 3MB free) of your memory by preloading/caching your frequently used programs.  For Office applications, that’s a GREAT idea.  Word, Excel, PowerPoint, maybe the occassional business tool—they load super fast!

Well, for those of us who use their computers for very memory intensive applications, it becomes a bit of a bottleneck.  I use my computer for a very select few tasks: Office tools (ala Homework), Visual Studio 2005, Virtual Server (for Orcas and some testing), Paint.NET (for graphic manipulation), and EverQuest 2 (for making stuff go ‘boom’ after the aforementioned applications have frustrated me).  That’s it.  Unfortunately, those are ALL memory and processing hogs.

Take this for example.  EverQuest 2, in Kelethin, takes up about 1.9GB of memory at 2560*1560 and in High Quality.  Most of that is textures and such.  If you remember back, I CONSTANTLY had out of memory errors (“EverQuest 2 and Vista Memory Issues”, “Dell 710, Vista, memory, NVidia, and more!”).  Why?  Because these memory intensive textures are constantly being swapped in and out of memory as you wander around and objects render in the game.

How I understand it, if an application needs memory, the system removes whatever it needs out of cache to free up that memory, places what you need in memory, uses it, then swaps it back out.  One interesting article on Wikipedia (source) cites that to truly use SuperFetch as it should be, you should be using the ReadyBoost (ala Flash Drives) for memory to prevent the hard disk thrashing. An interesting idea, but for those of us with 4GB of memory—can’t we just USE our memory more efficiently if we do not hop through smaller applications?

Yes.

You CAN disable SuperFetch’s service, test out your own benchmarks, and make an assumption whether or not it’s a good fit for you.  To disable the service, go into the Services Console (Start > Run > services.msc) and Stop/Disable SuperFetch, then reboot the computer.

After reboot, my system went from POST to signin within a couple seconds, rather than thrashing for 10–15 seconds and then, after sign-in, instantly to the desktop without any thrashing.  I had 2.8GB of free memory.  Visual Studio started almost instantly as did EQ2.  In addition, I ran EQ2 and ran through some very intensive zones (flying through Pillars of Flames, running around Kelethin and Qeynos Harbor, and standing at the oceanfront in Butcherblock Mountains) at Extreme Quality without any lag and not a single memory crash.

That’s one night though—I’ll continue testing and update this post as I have more info.

Tags: , , , ,

About these ads
  1. Wayne Kitt
    July 12, 2007 at 3:49 pm | #1

    Dave,
    Congratulations on your achievements in your education so far. Good luck on the ultimate goal – Stay with it and you will get there. I just finished my Masters and it only took me 33 years! (My first day of teaching was September, 1976).
    I appreciate the depth of research and attention to detail you paid to find out about the Superfetch memory hog. I did as you suggested (disabled Superfetch) but it has not helped very much with my gaming (I play Obivion (TES4)). The absence of superfetch has helped speed up the the computer somewhat, though. Oblivion, on the other hand, still randomly freezes, sometimes crashes – almost always right at the end of a long battle! and ALWAYS freezes when I am exiting a dungeon to the outside world (I can depend on that happening!). With XP Pro that never happened.
    I am running:
    Vista Ultimate 64-bit with 4GB RAm
    ASUS P5N-E SLI mother board with an Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz (2 CPUs), ~800MHz.
    Video: NVIDIA GeForce 7950 GT
    Sound: Creative SB X-Fi
    I am at the point of scrapping Vista and going back to XP Pro.
    Any suggestions?
    Wayne Kitt

  2. July 12, 2007 at 3:59 pm | #2

    Thanks for the kind words… it’s been quite an experience (sitting here now putting off going to class. LOL…)

    Your specs sound just fine–Oblivion is a resource hog, but not that much of one as ot crash. If you can, reduce your graphics and “features” of the game to the most minimal levels–does it continue to occur? Anything else running in the background? Also, how much memory does the system have in use (and available) when the crash occurs?

    Finally, and maybe a bit more difficult to catch, but how does it crash? Does it give you an error message? An out of memory? Or just a blue screen?

    -dl

  3. Wayne Kitt
    July 15, 2007 at 1:20 am | #3

    Skipping class….I remember those days – some of my most productive time was spent not going to class.! :)

    The most common error message I get is r6016 – out of thread data. I never get a blue screen, but sometimes it will just stop, give the critical error sound (a “bonk!”) and then just exit the entire game. Another consistency is when I am exiting a dungeon or on the final sword stroke that wipes out the enemy – on that stroke it freezes.

    I will try reducing the graphics and features. Right now I have everything at max.

    I appreciate your help very much.

    wk

  4. July 15, 2007 at 9:15 am | #4

    Interesting… on Monday, I’ll talk to a coworker… (unless he replies first) he’s an Oblivion player, so maybe he’ll have more experience with their errors or setup.

  5. July 22, 2007 at 11:25 am | #5

    Wayne-

    I’ve asked around and, so far, no dice on any ideas on Oblivion–there have been zero complaints and it has been running flawlessly. Any luck with dinking with visual settings?

  6. Oneder
    August 18, 2007 at 6:30 am | #6
  7. Gary
    October 26, 2007 at 10:46 am | #7

    If your using an X-Fi card it might be the culprit. Coupled with 4GB of ram they are crashing like no other. Google ‘x-fi vista 4gb crash’ and see. Also lots of notes on the creative forums.

  8. October 26, 2007 at 12:16 pm | #8

    @Oneder – I tried turing DEP off ages ago with no goodness there. If it works for some, it doesn’t seem to make much difference on EQ2 or FFXI.

    @Gary – I’d totally believe that, but I took the X-Fi out after the annoying popping persisted; the onboard sound is fine… I always wear USB headphones anyway that are bypassing the sound card and only use my speakers for streaming music. Good to know though, thanks!

  9. mike
    December 10, 2007 at 1:13 am | #9

    hmm when i reboot my pc , it reenables superfetch :(

  10. December 10, 2007 at 7:55 am | #10

    @mike – If you’re trying to disable it, be sure to disable the service.

    Start | Run | services.msc

    Find the SuperFetch service and mark it as disabled; then reboot.

  11. Mark
    February 1, 2008 at 6:32 pm | #11

    Superfetch isn’t so super at all.. it will thrash and beat your harddrive to death always trying to guess which programs you will use next and loading them into memory. Not only is this massive amounts of unnecessary wear and tear on the harddrive… its noisy, it gernerates heat, shortens the life of your harddrive, create competition for disk access to other programs, and makes it impossible to get any indication of abnormal harddrive activity going on (such as when a virus gets hold and runs amuck). Superfetch will drive you crazy. Disable it, you will be so much happier.

    And you don’t even need it… Windows will already use your memory as a cache… whatever last programs you used, stay in empty memory until you open them again, and then they will open right back up. Disable Superfetch, then launch Firefox. Close it. Launch it again. See how fast it pops right back up?

    To disable it, go Start:search and type services.msc, then double-click on Superfetch, change to Disable and click on STOP.

    The best part: quiet. Suddenly you don’t have that annoying racket constantly coming from your harddrive. Your system becomes so much quieter, so much happier. Disable Indexing Service too. When your system is doing nothing, the harddrive should be doing nothing at all as well. Its so nice to have that back.

  12. CS_Student
    March 27, 2008 at 6:43 am | #12

    I’ve been annoyed by Superfetch as well, especially because I have 4GB of RAM but a slow Nnotebook harddrive -> even slower response times. After a little research on the web I found that you can incrementally enable/disable Superfetch and standard prefetching features by means of using the registry.
    For the Superfetch settings to work, the Superfetch service has to be enabled. The registry key “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters” contains all the prefetching parameters.
    - EnableSuperfetch: 0=Disable, 1=Boot files only, 2=Programs only, 3=Both
    - EnablePrefetch: Same as above, but this is the XP prefetching algorithm.
    - EnableBootTrace: This is interesting, I think setting it to 1 will cause the system to analyze the next system boot and adapt the prefetching stuff. It resets itself to 0 then (no source, just an educated guess here).
    I don’t know if the XP prefetching is also handled by the Superfetch service, but I have a strong feeling it is not…?
    I suggest you also check out the source: “Windows Internals” online book, chapter ”Logical Prefetcher” which explains the XP prefetcher in depth (it’s actually quite intelligent already!”. (Link: http://book.itzero.com/read/microsoft/0507/Microsoft.Press.Microsoft.Windows.Internals.Fourth.Edition.Dec.2004.internal.Fixed.eBook-DDU_html/0735619174/ch07lev1sec10.html)

  13. crypt_king
    August 19, 2008 at 2:12 pm | #13

    Superfetch really trashes my laptop’s hard drive. At one time, I closed the lid and instead of my system going to sleep the hard drive trashed for about 30 seconds. Never had such problems with WinXP. If I close the lid I want it to obey the master and go to sleep, not trash the hard drive :) Well suffice to say I disabled superfetch and now I can finally live in peace and quiet.

  14. ThinksYouAreAnIdiot
    September 4, 2008 at 1:45 am | #14

    Superfetch automatically gives up cached space in memory as needed by applications. It has only positive effects on your performance. If you disable it, you’re an idiot.

  15. September 4, 2008 at 6:52 am | #15

    @Thinks-

    Inflammatory comments aside, you’re somewhat correct. Superfetch, on a high end system, does provide great benefits; however, the issues come from:

    1. Not having enough physical RAM–the “automatically gives up cached space in memory as needed” becomes a constant battle to move files in and out of memory.

    2. What isn’t available for memory starts hitting the paging files and/or ReadyBoost drives (if enabled), which is fine on a nice 10-15k RPM drive, but rattles laptop drives to pieces.

    3. If you hibernate/sleep your computer, SuperFetch gets wonky on what’s still in cache and how it’s been obsolesced. Thankfully, SP1 seems to resolve that issue.

    4. Applications that, in themselves, have more running files than you have physical RAM (such as several games, EQ2 is the one I have the most issues with), the constant work to “cache” the here and now takes more of a toll than not. As a counter, FFXI works perfectly with SuperFetch turned on, but it’s file footprint is much smaller.

    So, if you disable it, you’re not an idiot, but more conscious of what’s going on with your computer and your own personal usage. As with any technical advice from any source–your mileage may vary. :D

  16. Ben
    November 9, 2008 at 4:02 am | #16

    Great post… here is my comments from another site to add to this, excuse if its repetitive of other posts.

    Just a not if you don’t want to totally kill superfetch you can allow it to just prefetch some things as follows:

    1. Click the Start orb and type REGEDIT in the Start Search area.

    2. Open the Registry Editor.

    3. Click the plus sign next to HKEY_LOCAL_MACHINE
    then SYSTEM
    then CurrentControlSet
    then Control
    then Session Manager
    then MemoryManagement
    then click PrefetchParameters

    4. On the right side, double-click on EnableSuperfetch

    5. Give it one of the following values:

    0 to disable Superfetch
    1 to enable prefetching when program is launched
    2 to enable boot prefetching
    3 to enable prefectching of everything

    Click OK.

    6. Close the Registry Editor.

    Fact is Superfetch is good for general users, BAD for gamers, I got 4gb and it caches up all of my RAM for things I may not even load up, and it doesn’t improve performance for gamers because all that data thats filled up RAM as cache, needs to be written back to the hard drive when I start up a game to make room for it, and most decent games these days use about 1-2gb of RAM, so effectively its slowing down memory intensive applications.

    The only exception here is if you only play one game on your pc, then most likely it will cache that game into RAM for you within 5mins of having started up the PC, but my pc is super fast as it is, and I have Pagefiles disabled, with 4gb RAM its not needed. And I will have my game loaded manually way before superfetch will cache it for me.

    The main reason i checked up on all this is because I was getting out of memory errors while playing games, but only sometimes, and that is because with pagefiles off the data cached into RAM can’t go back to a pagefile on the HDD to make room for the game data in RAM and it just runs out of memory, but now with superfetch turned off you don’t get junk loaded into your RAM and it stays empty for the things you will actually use. This is really only something for slow computers not up to the 6.0 performance rating of Vista.

    The other thing it does is use your HDD much much more and will very likely reduce the life of it, unless of course you leave your PC on all the time. Superfetch will leech data off your HDD to your RAM’s capacity everytime you start up, in my case 3.5gb more than necessary 1-2 times a day, that adds up to a lot over a year.

    Hope that helps you guys out to understand this.

    Also for those who don’t know why their memory is filled up with Cached Physical Memory and they have no free memory in Vista, its a result of Superfetch and of course there is no need for concern for games not having enough RAM / memory provided you have the pagefile turned on with either USB or regular HDD, because the cached physical memory will shrink itself in one way or another to free up RAM for your applications or games, just don’t expect the majority of them to load fast, because superfetch is made for small/medium sized programs and only as many as can fit into cached RAM.

    Good luck all.

  17. Azrael
    December 19, 2008 at 8:03 am | #17

    Vista’s Prefetch and Superfetch are RETARDED.
    I have Vista SP1 and 4GB of RAM, and when I run some modern games (like SIlkroad Online or Red Alert 3) Vista keeps on reading their huge files (>1GB) after each reboot! It wastes about 6GB of data transfer just to cache these files even though I won’t be running these 2 games at once! What’s more, recently this idiot caches also the SIlkroad’s installer file – another wasted 1.5GB!!!
    Disable Prefetch and Superfetch and you’ll be happy.

Comments are closed.
Follow

Get every new post delivered to your Inbox.

%d bloggers like this: