January 10, 2012

Skyrim Blinking Out/Rebooting Part 3

I bought and installed a Silverstone SST-ST1000-P PSU in hopes that the un-named 700W PSU that came with my system was causing the problems with Skyrim.  Below is a picture of the Silverstone (top) and the unnamed PSU (bottom).  The SST-ST1000-P is a 1000W PSU with 80A on the +12V (single) rail, which should be more than enough for even three GTX 570s.  It can also peak at 1100W.

Silverstone SST-ST1000P 1000W PSU on top, unnamed 700W PSU below

It's also modular, which is really nice.

However, after carefully completing the PSU swap (took a little over an hour), I fired up Skyrim and within a minute saw the same reboot problem.  After cursing under my breath, I started to plot the next steps.  First, I am fine with the new PSU.  It replaces a PSU that is questionable at best, eliminating that as a potential problem.  I then wrote down some other "gut check" things to try (that wouldn't cost money) and started to go through them:

  • Update GPU BIOS - I was surprised to find that there is a more recent BIOS for the GPU, adding a ".01" - seems to be a minor update, but I tried it anyway.  No luck, same symptoms.
  • Re-install DirectX - I was not able to find a way to do this, since it's a core component of Windows 7.  Did DirectX validation and checks.  No change.
  • Underclock/Overclock the GPU.  No change either way, other than slower graphics when the settings are lowered.
  • Underclock/Overclock the CPU.  No change either way.
  • Examine the memory speed.  I have four 4GB Corsair memory chips, with a rating of 800MHz, DDR3.  But, out of the box, the system booted with 1333MHz memory.  I adjusted this to 1600MHz, but while it looked promising, the same problems (reboot) occurred.
  • Disable Intel SpeedStep and variable VCORE.  This took some research and I learned a lot about how these new features from Intel work.  I had to disable three BIOS entries in the GIGABYTE Z68MA-D2H-B3 INTEL Z68 motherboard:

Go to Advanced Frequency Settings->Advanced CPU Core Features and disable the following:
CPU Enhanced Halt (C1E)
C3/C6 State Support
CPU EIST Function

After obtaining a fixed frequency and VCORE for the i7 2600K, I played Skyrim for over an hour without a reboot!  I shut it down since I was at the end of my day.  This seemed to have made a difference, although I am at best cautiously optimistic about this being the fix.

After going back and looking at the stats from previous tests, the CPU VCORE and CPU Frequencies were all over the place.  This is by design of course, but now I'm thinking that Skyrim programming may be hitting hardware more directly than other games.  It may be my tired state, but consider the following (note this may just be crazy thoughts):

  • Skyrim is a port from consoles.  Console games are written for specific hardware, giving programmers more  access to low-end functions than say a DirectX game.
  • Skyrim load times are ridiculous.  From hitting "Play" it takes about 5 seconds for the main screen to come up then maybe another 5-10 seconds to load a saved game.  Compare this to other games and you know they are doing something different with Skyrim.  Why would other games take so long to load compared to Skyrim when Skyrim is clearly a larger game?  Perhaps they skipped a lot of the frameworks that other games are built on.  Even something like the benchmark tool Heaven DX11 takes a while just to load all the textures.
  • If the problem is the variable CPU frequency/VCORE, why would I not be able to replicate the Skyrim reboots with other games?

In any case, cautiously optimistic is how I describe this phase of troubleshooting.  Next, I'm going to re-enable the BIOS settings and try to limit the CPU Speedstep via Windows 7 Power Settings instead.

Just in case this is a red herring, I'm planning on hitting the Sound Blaster X-FI card next by completely removing it.  After that, I'm completely out of ideas.

If you haven't already, be sure to see part 1 and part 2 of the Skyrim troubleshooting saga.

No comments:

Post a Comment

Please be helpful and courteous. Thanks!