8

My computer has a strange issue when playing games that load assets on the fly. Perhaps I'm looking in the wrong places, but I seem to be unable to find anyone with a similar issue.

In case it's not clear, I'll note some examples. In Source games, the mapper is able to optimize things by telling the engine when and where to hide objects so that they are not added to the scene until you round a corner, or open a door. My computer chokes when it comes time to load in these objects. Take Portal 2 for example. Once the loading screen for an area goes away, I'm thrown into the level. Immediately, I'm greeting with a frozen screen, and stuttering/repeating audio, for about a second. Once that passes, everyone continues on all hunky-dory at full framerate. Then I walk up to a door, triggering it to open. Another good second of stillness and stuttering audio as it loads in the room on the other side. If you were to watch anyone else play the game, this would never happen. Anyway, this I can tolerate. It's annoying, but it doesn't really interfere with gameplay. Now let's game a game that constantly loads as you progress, Sonic Generations. Standing still, I get a silky smooth framerate. But as soon as he begins to run forward, loading more of the level, I drop to <1 FPS, making it utterly unplayable. More and more games seem to be doing this nowadays, which is why I'm finally getting serious about troubleshooting it.

I highly doubt these pauses are programmed into the games themselves. Loading screens are designed to run smoothly as data is loaded, and on any other machine, they do. Using Sonic as an example again, even the moving parts on its loading screens are extremely choppy until the load completes.

I had built this computer nearly four years ago, and have had this problem since I started using it for 3D gaming. Since then, I've replaced my motherboard, HDD, and graphics card, due to them dying. (Case fans stopped working one day, and the HDD was a whole 'nother deal.)

Running Win7 Ultimate 64-bit with Aero on, on an Intel 2.5Ghz quad core, with 4GB of RAM, and an nVidia GTX 460.

Thanks a ton, everyone!

Update: It's become apparent that I am getting a heapload of page faults. Average of 170,000 per second with Sonic Generations, average 70,000 during loads with Portal 2, and a very steady 30,000 while watching a stream at Livestream.com. According to Resource Monitor, these aren't even hard faults. I'm kinda curious how these numbers compare to everyone else.

Addendum: Might as well add another example, and a potential symptom. First, a racing game called Trackmania. In a solo race, there are no noticeable page faults, (beyond what other programs may be producing) and the game runs silky smooth. When playing online however, I get massive hiccups (and page fault spikes) at frequent-yet-random intervals. I'll be racing along, game will pause for a good second or more, and will resume with my vehicle upside down in a crumpled mass next to a wall. Hiding the cars of other players doesn't fix the problem either.

As for the potential symptom... I've avoided mentioning it because I was afraid it might be an unrelated issue, and didn't want to send troubleshooters down the wrong path. At this point, why the heck not mention it? Basically, my computer will downright completely freeze after watching video for some time. Looping audio, entire screen (including cursor) non-responsive, num-lock won't toggle, can do nothing but a hard shutdown. It can trigger in minutes, or hours. Typically, the larger the viewport is, the sooner it happens. As long as hardware acceleration is on, full screen Youtube videos are safe.

Full screen Youtube with hardware acceleration on does not seem to produce page faults. It does when windowed, however. Livestream always produces page faults, full screen or not, accelerated or not. Games never seem to freeze my computer like this however, despite generating loads of page faults themselves.

(Changed title from "Graphics become choppy when game assets are loading in the background" to "Getting gratuitous amounts of soft page faults when loading games and watching flash video.)

15
  • 1
    Do you have enough RAM?
    – soandos
    Commented Jan 9, 2012 at 0:02
  • I don't typically surpass 3GB of usage, so I should have plenty. I have ordered an additional set of memory that should be arriving shortly. I'm going to try swapping them out to see if that helps. If it doesn't, I will have then maxed out my capacity anyway. Win/win.
    – YotaXP
    Commented Jan 10, 2012 at 15:09
  • Can you run the performance monitor in the background, and see if there are a lot of pagefaults?
    – soandos
    Commented Jan 10, 2012 at 15:42
  • I'm not experienced enough to know what is 'normal' as far as page faults go, so here's a screenshot. i.imgur.com/cbGFP.png I think it's clear at what point I started up Sonic Generations.
    – YotaXP
    Commented Jan 10, 2012 at 17:21
  • So that is your issue. (PS, I have NEVER seen it go above 150 or so, this is nuts)
    – soandos
    Commented Jan 10, 2012 at 22:55

3 Answers 3

3
+100

After reviewing the information here and discovering that the issue is that he's page faulting quite a bit, I'm going to add some more possibilities that I'd look into, here.

If these are soft page faults, and you're getting a lot of them, my guess is that the memory accesses that are causing these faults are requests for texture resources. The graphics card has some amount of on-board memory to speed up texture fetch requests, but for some reason, it may be that the drivers aren't caching enough of the texture in the on-board memory, or it isn't caching any of it at all. I am not familiar with nVidia's graphics driver settings very well (I've been running ATI cards primarily for the past 4 years) so I am not sure if a driver setting, overclocking setting, or even a BIOS setting would be to blame for such a state. However, I would look into this to see if it may be the source of the problems.

Also, as a note, I logged page faults/sec, as you did, for Portal 2, and found barely any. Of course, my system is using 2 Radeon HD 6970s in Crossfire, however, your graphics card should certainly be capable of handling Portal 2 without pagefaulting like that. If all is operating properly, I'd expect you would see a similar image to this: Page faults/sec for Portal 2 on my computer

If we want to rule out that the graphics card is the culprit (or the graphics hardware as it is being used by the computer, anyway), I'd recommend disabling Aero and seeing what happens when you are idling at the desktop. If the number of page faults decreases, then my hunch that it is graphics related is probably correct. If not, then it may be elsewhere.

22
  • Just switched SATA cables and ports. No change. (Did give myself a bit of a scare when the BIOS thought it could boot off my external.) Thanks for the suggestions, though!
    – YotaXP
    Commented Jan 11, 2012 at 3:14
  • @sidran32, he is getting pagefaults, that he should not be getting. The question is why (i.e. even if disk I/O was very slow, it should not matter at all, as there should be no/very few lookups to disk)
    – soandos
    Commented Jan 11, 2012 at 3:41
  • @soandos I know. I learned that after my post. Commented Jan 11, 2012 at 3:56
  • @sidran32, considering that even when the game is not running he is page faulting quite a bit (min is 471/s) so I think it is graphics independent.
    – soandos
    Commented Jan 11, 2012 at 4:22
  • 1
    Neat idea! Here are the results. I failed to capture it in that screenshot, but even with Aero off, each step through the menus (clicking Start, opening Computer Properties, clicking Advanced System Settings) spiked the faults to 5-15k each. Surely the GPU should have nothing to do with that.
    – YotaXP
    Commented Jan 11, 2012 at 5:06
0

The soft page faults may be generated by certain system calls issued by the process. The exact system calls in question may be found out by using the pfmon tool as described in this vmware article :

Excessive Page Faults Generated By Windows Applications May Impact the Performance of Virtual Machines.

pfmon is still available for download from Windows 2000 Resource Kit Tools as a separate download. It is a 32-bit program, but may still work for you.

[EDIT]

I have tested pfmon on my own computer and was astounded by the enormous number of soft page faults. A few seconds of Firefox or of Internet explorer generate tens of thousands of such faults, and I really don't see any slowdown.

My conclusion is that counting soft page faults is meaningless. Apparently Windows generates them as a matter of course, and they are just the way that it works. The fact that Windows needs to search memory for the pages might be another explanation as to why Linux is faster than Windows.

So just chalk it up to inefficient memory management in Windows and worry only about hard page faults (whose number from the list you posted is quite low). Lots of soft page faults for a process apparently only indicates that the process in question does a lot of processing of memory.

If you still believe there is a memory problem on your computer, have a look at the article Detecting and Resolving Performance Issues Through Monitoring, which uses tools from the Windows Server 2003 Resource Kit Tools.

You could also run hardware tests such as Memtest86+ to be sure, but I am not entirely convinced that your problem is really about memory.

4
  • Interesting. I tested it with Portal 2. It stops within one second of executing pfmon, and kills portal2.exe as well. Here is the prompt, and here is the log file. I honestly have no idea what to make out from this info, but maybe you do? In this case, I executed pfmon while portal2 was loading a map.
    – YotaXP
    Commented Feb 16, 2012 at 19:00
  • I added my take on the problem in the edit above. BTW, I hope that you haven't installed any sort of "memory optimizer" product.
    – harrymc
    Commented Feb 16, 2012 at 20:55
  • Unless it snuck on, there should be no such thing on my PC. Are you able to compare your faults to the ones I've posted in the question? I've ran Memtest86+ over multiple nights, and have even tried replacing my memory. If you think my problem is not related to these page faults, what else should I look for? Have you had a chance to read some of the other comments? I've been at this for a while now. =p Those diagnosis tools seem more useful for those who write the problematic applications. What I need to know is why they're only causing the problem for me.
    – YotaXP
    Commented Feb 16, 2012 at 23:55
  • My guess would be some error done when the computer was built. Maybe wrong memory for motherboard, wrong memory multipliers, or whatever. The hardware doesn't look like it can handle intensive memory applications, and the fault doesn't seem to be with Windows. You should maybe try tools that are used rather for overclocking.
    – harrymc
    Commented Feb 17, 2012 at 8:51
-1

May I suggest increasing the voltage slightly on both your RAM and your CPU? I have seen similar issues when using a poor-quality motherboard or just plain bad RAM. Boosting the voltage a bit brought everything back into normality - and the systems worked flawlessly for years after.

6
  • That is an interesting suggestion. I have no experience in tweaking such things, so I'll do some research on it in the morning. How much of an increase are you thinking?
    – YotaXP
    Commented Feb 21, 2012 at 9:28
  • Took a look at my voltage settings, and everything is currently set to Auto. Is there a way to know what the BIOS is setting them to so that I might increase it? I also noticed something odd regarding the memory voltage. My memory suggests 1.8v, however the minimum setting in the BIOS is 1.92v. Could that be a problem?
    – YotaXP
    Commented Feb 21, 2012 at 20:26
  • You will need to find out the exact model of your RAM modules, as well as your CPU. Once you know those exact models, you can look up the spec sheets online and see what the default voltages should be for those. You can determine the exact models using CPU-Z (cpuid.com/softwares/cpu-z.html), and even see the current operating voltages. Try the RAM first before messing with the CPU; I suggest increasing by 0.1v to start, test thoroughly, and if problems persist continue up to 0.3v (DO NOT EXCEED). This should be enough to rule out RAM being the problem.
    – Joshua
    Commented Feb 22, 2012 at 16:02
  • I built this machine, so I know what is in it. Memory, CPU, and motherboard. CPU-z shows my CPU being given nearly its maximum voltage. Here's the report from CPU-z, if there's anything you want to look for. I'll start messing with my RAM by setting the voltage as low as possible, which is already 0.12v above the recommended voltage.
    – YotaXP
    Commented Feb 22, 2012 at 18:56
  • Ok doesn't seem like RAM is the problem then. Let's approach it from a different angle: is there any chance you have Antivirus installed? Multiple antivirus or anti malware installed?
    – Joshua
    Commented Feb 22, 2012 at 19:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .