8
2
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.)
1Do you have enough RAM? – soandos – 2012-01-09T00:02:55.110
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 – 2012-01-10T15:09:51.057
Can you run the performance monitor in the background, and see if there are a lot of pagefaults? – soandos – 2012-01-10T15:42:01.743
I'm not experienced enough to know what is 'normal' as far as page faults go, so here's a screenshot. http://i.imgur.com/cbGFP.png I think it's clear at what point I started up Sonic Generations.
– YotaXP – 2012-01-10T17:21:07.260So that is your issue. (PS, I have NEVER seen it go above 150 or so, this is nuts) – soandos – 2012-01-10T22:55:00.713
How much memory are you using, and how big is your pagefile? – soandos – 2012-01-10T22:58:30.647
Page file is 4GB, almost on the dot. System managed. Using about 2.6GB of memory without the game up. (And >1GB standby, whatever that means.) Firefox being the main hog. Sounds like you're hitting the nail on the head though. The faults spike when I get the hiccups in Portal 2 as well. I've been watching Resource Monitor at the same time, and it isn't picking up many hard faults, if any. Did do a little spiking at first go, but nothing when the game stutters. If you're certain on what it is, be sure to post as an answer so I can eventually mark it. – YotaXP – 2012-01-10T23:42:11.677
Have you tried increasing the size of the pagefile? – soandos – 2012-01-10T23:44:19.980
Increased to 6GB, no improvement. I'm kinda curious why the pagefile would be used at all with over a GB of "standby" memory. – YotaXP – 2012-01-11T00:09:25.143
It is recommended, if you set your pagefile yourself, to make it about 1.5x the amount of RAM in your system. For an added benefit, put it on a different physical disk than your main system disk, so pagefile writes don't slow down other disk accesses. – Ben Richards – 2012-01-11T00:51:15.377
considering there's a lot of pagefaults, try testing the ram? – Journeyman Geek – 2012-01-12T21:10:04.537
The 1.5x RAM pagefile recommendation is old and out of date, but sidran32's recommendation to put it on a different physical disk is still a good one. What kind of hard drive setup do you have? Are your SATA controller drivers good? What mode is your SATA controller set to in your BIOS? (you generally want AHCI). When was the last time you did a BIOS update? – evilspoons – 2012-02-14T19:48:02.813
@evilspoons I have a single internal HDD connected with SATA, and an external HDD connected with USB. I don't see such a controller setting in my BIOS. (I have an Asus P5N-E SLI motherboard, by the way.) Only option I see is one to disable the JMicron SATA Controller, which is odd since I thought I had an nVidia controller. The BIOS is 5 revs behind, at 1201. I've avoided flashing it since the BIOS chip burnt out last time. I may try installing TM2 on my external later today. Thing is, as the other comments mention, these are all soft page faults. They shouldn't be accessing the disk. – YotaXP – 2012-02-14T20:27:25.120
there is a possibility of 3+ problems that you could have, the PCI-E latency, which often gets set wrong. The USB hard drive, which you should pull when testing, A JMicron Filter item, the Jmicron driver itself. A lane issue with the PCI-E. I only bring up these things, based on the efforts that have already been discussed. drop into a chat sometime, and I can run you through more hoops. – Psycogeek – 2012-02-18T01:07:22.130
@YotaXP Have you considered faulty memory on your graphics card? Typically, dying video RAM causes visible artefacts, but yours could be a special case. If you have a spare card lying around, consider swapping it in. Otherwise, maybe try onboard video, if your motherboard has it. It won't be great for playing games, but if you get better loading performance at least you know'll the issue is related the graphics card... or the PCI-E slot as Psycogeek suggests. Actually, you mentioned it being a SLI motherboard... perhaps try moving the card to another slot too. – Bob – 2012-03-24T15:59:44.910