mattgadient.com

Intel’s HD 3000 – not as constrained on memory bandwidth as you might think…

I was working on a hackintosh build, and got derailed into overclocking the HD3000 in the motherboard I was using….

I had been bumping into periodic glitchiness with the HD3000 in OSX, and had recalled reading on Anandtech that when overclocking they’d believed the HD 3000 was memory bandwidth constrained (though I eventually realized they made a boo-boo which made the situation look much worse).

So I popped into Windows and started testing the frame rate in TOR as I played with the DDR3 settings, and then eventually overclocked the HD 3000.

 

I’ll start by summing things up in point-form (that way, you can skip the details if you’re particulary uninterested in the how/why). Note that this is based on testing in 1 game (SWTOR):

  1. When overclocking the HD3000, the FPS scales very well. A 27% increase in clockspeed garners between a 20-26% increase in FPS.
  2. Bumping up the RAM frequency (which the HD300 uses) gives a much smaller improvement.
  3. Tightening RAM timings gives no improvement.

Note also this is for the HD 3000 on the i5 2500K which has 12 “EU’s”. The non-K desktop versions of the i5/i7 only have 6, so you may not get the same results if you’re using one of them – I really have no idea if they’ll scale the same.

Long story short, for a 27% overclock, I was seeing between 20-26% gains in FPS on the HD3000. I’ll plunk down a couple charts to save some typing (and save you some reading):

The above is simply to give you the numbers (the frame rate in this case). I’d taken them to 1 decimal, but it wouldn’t fit in the bars, so you’re seeing the rounded numbers.

The next image should give you a clearer picture as to the actual scaling in regards to the clock speed and the FPS.

As you can see, fps in Star Wars: The Old Republic scaled very well with the iGPU overclock, particularly when the game was played at “Low” settings. In addition, the resolution didn’t matter – it scaled equally regardless.

At the “Medium” quality setting, it didn’t scale quite as well, but if you glance up to the 1st chart again, you’ll notice that the FPS was really poor to begin with – I’d be willing to bet the HD 3000 is running into a wall elsewhere – I suppose it could be a memory bandwidth issue, but I would have expected a much smaller (or non-existant) gain in that case. Instead, we still got a respectable boost percentage-wise.

For anyone who is confused because they looked at the HD 3000 chart on Anandtech’s site, and the story looked much worse there, to clear things up, they mentioned that:

The 82.4% increase in clock speed resulted in anywhere from a 0.6% to 33.7% increase in performance. While that’s not terrible, it’s also not that great. It looks like we’re fairly memory bandwidth constrained here.

The boo-boo they made was that 82.4%. They inaccurately used 850Mhz as the base in their calculation, when the reality is that they should have used 1100Mhz (the default turbo of the 2500K they used – when you overclock, you’re overclocking the max turbo, not the base). It doesn’t look like anybody caught it, and the article’s over a year old now.

In any case, if you use 40.9% (the correct value for their overclock), their chart makes a little more sense. That said, they still only saw an average improvement of 19% in their games for that 40.9%, which isn’t nearly as good as the gains I’m obviously seeing in TOR. Perhaps TOR just benefits more than other games (or maybe Anandtech was using really high quality settings vs my low/medium)?

 

Anyway, if you’ve done your own overclocking/testing on the HD 3000, feel free to leave a comment below with the results.

Speeding up the memory!

Overclocking the GPU was actually at the end of my testing (but I listed it first, because it’s more interesting!).

Now, for the gains by playing with your RAM speed.

As you’re probably aware, the HD 3000 uses your system memory. In fact, if you plop open the latest version of GPU-Z, you’ll find that the memory speed it lists for the HD 3000 is that of your system RAM. 800Mhz for 1600Mhz DDR3, etc.

So, initially, I had bumped up the RAM speed in the BIOS from DDR1333 to DDR1600 to see what gains there were to be had. Here were the results:

The move from 1333->1600 is a 20% increase in clockspeed.

However, you can see that the frame rate did not scale as well. If you include the outliers, you’re looking at about a 6.3% increase in framerate.

That’s not very much. It worked out to a 2-3 fps increase at the “low” quality settings, and under 1 fps increase at the “medium” settings in TOR.

But that said, it is something. To be fair, it’s a better improvement-per-clock than you see by overclocking video memory on most dedicated video cards. And while technically part of that 6.3% might simply be a system-wide benefit (just like overclocking your CPU), usually games are the last thing to benefit from a simple bump in RAM speed, particularly on Intel systems (AMD systems tend to benefit a little bit more).

Putting it into perspective, normally, going for high DDR3 clocks doesn’t provide much benefit at all on Intel systems except in certain benchmarks. This is the most I’ve seen it actually benefit. So if you’ve been missing the days where pushing for high RAM speeds had value, the good news is, you now have an excuse to do it! The Intel HD 3000 does benefit quite-a-bit-more-than-one-might-expect from what I can tell.

Tightening RAM timings – a lost cause

Here are some (abbreviated) numbers from my notes to let you know how this went….

8.8 – 8.8 – 8.7 (med 1680)
10.2 – 10.2 – 10.2 (med 1440)
13.2 – 13.2 – 13.2 (med 1024)
41.3 – 41.3 – 41.3 (low 1024)

…obviously, no changes to speak of. They were surprisingly consistant.

At first I’d dropped the Command Rate from 2T to 1T (I expected an improvement of some sort!). Nothing. Then I tried tightening the timings, loosening the timings, etc. At most I’d end up with 0.1 fps difference.

Now I did not go crazy – maybe if I’d gone super-crazy-tight or super-crazy-loose I’d start seeing some fluctuation, but every indication I was getting told me that there’s no benefit to messing with this.

 

However, the good news is that usually you have to make a choice between fast speed, or tight timings. If your focus is on eeking out as much performance from the HD 3000 as possible, that choice is made for you! Go for speed, even if it means loose timings! When it comes to RAM, frequency seems to be king.

 

 

Conclusion:

As mentioned earlier, overclocking the iGPU (HD 3000) gives the strongest gains the fastest. Just be sure to overclock gradually (remember, you’re overclocking the graphics TURBO setting, so just because it boots doesn’t mean it’s fine – stress test it so it actually turbos up).

Beyond that, if you start looking at the RAM, go for clock speed, even if you have to go with looser timings. Don’t spend too much time here though, as the gains are pretty mild.

For reference, the system used for these tests was:

  • ASUS GENE-Z
  • Intel i5 2500k (not overclocked)
  • 16GB Corsair DDR3 1600 RAM
  • original RAM speed was set to DDR3 1333Mhz, 9/9/9/24/2T
  • RAM speed for comparison set to 1600/9/9/9/24/2T
  • RAM speed for HD 3000 overclocking was set to 1600/9/9/9/24/2T throughout that entire test series.
  • RAM timings modified for various testing. Voltage constant at 1.5V
  • Intel HD 3000 was set to base (1100Mhz turbo), set to 1400Mhz for overclock test. Voltage was left at motherboard’s “auto” setting.
  • TOR framerates were taken in the middle of the night on the Republic fleet station with nobody around, camera zoomed out to max. Additional framerates on the “very low” setting were attempted, but they pegged at 60fps for all 3 resolutions I tested (vsync stuck on at that setting). I didn’t bother trying to test high because “medium” was already at unplayable levels of fps.
  • NOTE: if you have the same motherboard (GENE-Z), watch your CPU voltage – for some reason as soon as I change anything regarding the RAM it cranks up the CPU voltage to insane levels if left on Auto. I have it manually set it to 1.2V to avoid unintended consequences.

 

  • Ballsofsteel

    Hey great review , I was just wondering whether you could test different memory configurations ie difference between 4 8 and 16gb thanks

    • Ballsofsteel: I can’t check at the moment (hosed the motherboard during a risky BIOS flash procedure).

      That said, there shouldn’t be a difference between 4/8/16, with a few exceptions, since the iGPU is likely to cap out at around 512mb-1GB anyway.

      Obviously, if 4GB means a RAM-starved machine, that’ll hurt FPS when it’s swapping (not a GPU issue, but you’ll see lower framerates as it swaps madly).

      I would also expect a dual-channel > single channel situation, and the possibility that 2-banks > 4-banks.

      But in any case it would be interesting to check. When I get the new motherboard I’ll try playing with this and see.