MSI RX 470 Further Tweaks

In my previous guide RX 470 BIOS Mod I showed you how to make a VBIOS modification to allow your RX series card to perform a bit better than stock by modifying the memory strap timings in the BIOS. While this resulted in a significant 3.5 Mhash/sec increase (15% improvement) going from 22.5 mhash/sec stock to ~26 mhash/sec, there is more that can be done to tune performance even further.

Utilities used or mentioned in this guide:

TechPowerUp GPU-Z – download here

WattTool – download here

Claymore’s Ethereum Miner – download here

There are two directions one can go from here, or a crossroads if you will. On one path we can look to increase the performance even more. Indeed it is possible to gain 27 or even 28 Mhash/sec out of these cards by further increasing the core and memory timings. This will usually necessitate pushing the memory clock to 2000 MHz or even higher, and will require increasing the voltages in most cases.

The second path, and the one we will explore in this guide, is to maintain our initial 26 Mhash/sec hash-rate, but look to reduce the overall power consumption even more. The main way to do this is to look for lower, but stable, core and memory clocks and then lowering the voltages as far as we can while still maintaining system stability. If you followed along on the first guide, the core and memory clocks are already taken care of, as I found those values (1050/1850) to be ideal for tweaking the power consumption.

For either path you wish to pursue the main variable outside of your direct control is the quality of your GPU. By using GPU-Z, a handy utility that gives you a wealth of information and monitoring capabilities of your graphics card, you can get a rough benchmark of your GPUs quality, also known as its ASIC quality.

If you do not have it already, go ahead and download GPU-Z from the TechPowerUp website now. The latest version as of this writing is GPUz v1.11.0.

Once downloaded, run the exe to install it. Once it is installed and running, click on the settings tab to open up the settings window as shown in the image below.



Click on the ASIC Quality tab and you should see something similar to the image below.

In this case my GPU has an “ASIC Quality” of 71.7% and according to the GPU database, it ranks pretty low in terms of quality. I have some cards with ASIC Qualities in the high 80’s that I can tweak to my hearts content, but for the most part this example GPU is pretty unremarkable, so replicating the settings in this guide should be easily obtainable for all but the worst of cards.


The ASIC Quality for the most part will limit you to what your card is capable of, with higher qualities allowing for increased overclocking and/or under-volting with all else being the same. Getting a card with a higher ASIC Quality is sometimes referred to as “winning the silicon lottery” in that if you are lucky and your card has a high quality you will be able to obtain those high 29 Mhash/sec and low power draws you may read on various forums.

Getting back to the guide, with this average (maybe even slightly below) GPU, we should be able to get realistic real-world performance with our example configurations that you should be able to easily replicate with your own GPU.

I am using the Claymore miner version 7.1 for this guide, but feel free to use the latest version. The first place we will make changes from default is with adjusting our core and memory speeds in the config.txt file located within the Claymore directory.


In the example above, I have highlighted the area of concern for this guide. As you can see I will start out with a core clock speed of 1050 MHz and a memory clock speed of 1850 MHz. I also set the core vddc to 950 and the memory vddc to 1000. These values are in millivolts, so they correspond to 0.95 and 1.0 volts respectively. I should also mention that there is some debate over if the mvddc variable actually changes anything on the card or not, as some claim the memory voltages are hard-coded in the voltage controllers.

With these settings in place we can look at the sensors tab of our GPU-Z utility to see two important pieces of information as shown in the image below.


Wow, quite a busy image, but I will explain the important information which I have highlighted with red rectangles. I should also mention that in my test rig, I have two GPUs, so these settings will apply to both of them. Also in the bottom left you can see our config.txt settings again, which are also reflected in the readings of the GPU-Z and WattTool utilities as well.

kill-a-watt_01The initial settings applied via the Claymore miner as defined in the config.txt file go a long way in reducing the power consumption, as the at-the-wall reading for this test rig is already down to 300 watts as measured via the Kill-a-Watt meter. This results in a respectable Watt/MHash ratio of about 5.79 Watt per Mhash (301W/51.9Mhash) using the meter reading and the total hash-rate figures from the image above.

With the use of another handy utility, the WattTool program, available from the website we can further adjust the voltages using an voltage offset. To use WattTool, download and extract the program to somewhere easy to find, again your desktop works well, and much like the ATIWinFlash utility, it is best to right click on the WattTool.exe and run as administrator. This is because the mutex’s can conflict with other tools already running such as GPU-Z, AMD’s WattMan, or even the Claymore miner

Again referencing the image above, we are looking for the Voltage Offset section of the tool. Here I set an offset of -7. Do note that each value of offset equates to 6.25 mV as noted in the tool, so my reduction of -7 is equal to -43.75 mV. Looking at the GPU-Z windows we can see in the two important highlighted areas the GPU only power draw is in the low 60W range and the VDDC reading is 0.9437 V. Swinging over to the Kill-a-Watt meter again, this modest decrease has brought our power kill-a-watt_02draw down even further to 279/280 Watts.

We are now looking at a 5.4 Watt per Mhash (280W/51.9Mhash) ratio, which is pretty good. I usually like to leave these settings in place and run the rig for several hours to test for stability, as it does no good to reduce power to the point your miner is always hanging up or rebooting. If you did find it has crashed, simply up your Voltage offset a bit and try -6 or -5 until you find a stable setting.

In my case, I already know this is stable as the rig has been running over 24 hours before I started writing this guide, so now the fun can begin and I will continue to reduce the Voltage offset little by little until I notice instability. At that point I will increase the offset by a point or two and continue to monitor the rig. Ideally you want to get to the point where you rig is stable for days on end as again there is no point in trying to reduce consumption if it means you rig hangs or is not mining.

Again, I would recommend moving 1 point at a time and letting your rig run for at least an hour before moving on. Since I am comfortable with this rig’s setup I will move to a -10 offset, corresponding to a -62.5 mV reduction. I took a new screenshot of the settings below after running at the -10 offset for another hour to verify stability.


These settings knocked a further 5 watts off the Kill-a-Watt meter with a total system draw of 275 Watts, so as we can already see we are quickly reaching the point of diminishing returns. While further reductions are possible, since we are no longer seeing big wattage drops for our efforts, we will quickly start running into instability issues if we push too much harder. But just for fun and to give some credibility to the above statement, lets go a bit lower. I will next try a -12 offset, for a -75mV total reduction.

My Kill-a-Watt meter reflects another 5 watt drop, or just under 270 Watts, so in keeping with the above observations we are roughly knocking 1 Watt per card off per every -1 in voltage offset. So at the -12 offset setting and with a total system draw of 270 watts, we are at a very nice 5.2 Watt per Mhash (270W/51.9Mhash) ratio. Considering the system (MB, CPU, Memory, SDD, Fans, etc) contributes about 60 idle watts to the total, we are down to about 210 watts for both GPUs or only 105 watts each.

Do note that the at-the-wall readings differ from the GPU-Z GPU only Power Draw readings, as the tool only measures part of the GPUs overall draw. I believe GPU-Z is reading from the PCIe bus only, but I have not confirmed this as fact. If someone knows please feel free to leave a comment below and I will update the guide.

As you can see, we are now pretty much left with trial and error until we reach system instability at which point you will start increasing the voltages back a few point until your rig is stable 24/7. How much further you can go will relate to the ASIC quality of your cards as well as other factors such as the quality and stability of the rest of your system, power supply, and even the quality of your incoming AC power.

I hope you have enjoyed these guides and if you have questions or have anything to add, please use the comments section below.



  1. I have to say THANKS a lot for this guide. My stock gpu settings would give me roughly 20mh/s. Now after following you bios mod guide and this guide, im getting 26mh/s. Thanks again for the guide.

  2. Ive flashed my msi rx470 8gb gaming x with the powersave rom ive managed to set the clock to 1150 and mem to 1950 and undervolted to -100mv (shows as -96mv) in Trixx…
    hash rate is roughly 27.150 ish
    any tips on where to tweak further it crashes to a blue screen if I try to move the mem clock further than 1950..
    Although I did set mv to -110 and moved memory to 1980 / 1990 and it blue screens..
    (am I right in thinking that I shud add more mv ie move it up to -80mv etc?
    new to overclock/underclock/undervolt.
    Any help appreciated thanks …
    Sol kent.

    Excellent guide btw.. any tips on clock settings (the rom I have has tdp lowered I think, and also has memshift. clock says 1220 default when it used to be 1242 stock and mem is 1650 default

    I’m sure my gpuz draw is 70watt, so is 1150 1950 -96mv 70watt draw 27.150mh where I’m limited to. btw it is a MSI rx 470 8GB gaming x {asic quality of 78.4}

    • It sounds as if you are about at the maximum ability for your cards. Unfortunately, not every card (even the exact make/model) is going to be the same as far as mining performance. I have some rigs that can do 30 Mh/s per card and others with the exact same hardware that only get 28 Mh/s. Some people refer to this as the Silicon Lottery as it comes down to luck of the draw as to how much performance you can get out of a particular card. They all still should be with +/- 10% of each other though and your results do seem to be within this range.

    • Yes, I do publish user comments but I get about 50 spam comments for every valid one. This means that to keep the comments sections free from spam I need to manually review them all before approving. Unfortunately, I do not always have time to review the submissions on a daily basis as I have other commitments. I will try to be more proactive in reviewing the comments in a more timely manner going forward so there is less of a delay.

      • thank you for your reply I appreciate …
        I think ive found the most I can get is
        1168gpu 1979/1980mem and -110/-120mv hashes 27.5

        my asic rating is 78.4.

        also a quick question.

        zcash/equihash crashes more on these speeds where eth seems fine,
        does equihash require lower mem settings to mine vs eth.

        is there a default clock setting which copes for both?

        hope makes sense … and value your replies 🙂


        • Yes, the Equihash algorithm (Zcash) generally prefers a higher core clock and lower memory clocks than does the Ethash algo (Ethereum). So unfortunately, there is no optimum one size fits all algorithms when it come to clock speeds.

          You can probably get away with 1100-1125 core and 2000 memory on Ethereum, and for Zcash you will want to get your core as high as you can while maintaining stability. If you lower the memory clock when mining Zcash to say 1800 you might gain enough stability to run the cores at even 1200, but you might need to tweak the voltage up a bit more. I can gain the most power savings running Ethereum for this reason too, but any given day will determine the best coin to mine, so it is best to find working settings and just create different batch files.

Leave a Reply

Your email address will not be published.