The part of setup I've yet to fully understand. What's the best guide to explain it? For the "Google It!" folks, I've done that many times, but the massive compilation of sites and the sorting through all the BS and malware, I just end up giving up on it.
I'll assume you're referring to undervolting the GPU and not the CPU, as I found the CPU undervolt to be pretty straightforward and the GPU UV to be nonsensical for months.
I used 10-series Nvidia GPUs for this (mostly 1080, some 1060 and 1050Ti) and I assume the AMD Radeons are similar but use different tools. I'm planning on getting an RX 570 soon for PC&Mac eGPU testing so I'll have my answer then.
Starting from scratch, install TechPowerUp's GPU-Z and MSI Afterburner and then run both. Keep GPU-Z on the Sensors tab as that's all your monitoring information. Let's set a baseline: install and run Unigine's Valley (you can use Heaven or another looping windowed GPU load, though I don't like FurMark for this). If using Valley, set it to Extreme HD, uncheck Full Screen and set resolution to smaller than your screen, so you can view it along with GPU-Z and AfterBurner.
Run it and it will loop continuously. In GPU-Z look at your GPU Clock, GPU Temp, Power Consumption, and VDDC (voltage). The levels of all will flatten out eventually. Note the VDDC, for my GTX 1080 it's at 1.05v.
In Afterburner, bump up the Core Clock by 50 MHz or so increments and click Apply until Valley shows errors or crashes. Reduce by 20 MHz or so after the first crash and try again. If you make it to +150, maybe do 20 MHz increments after that. My GPUs don't really tolerate +200MHz and my 1080 likes +175 or so.
If your GPU and cooler are up to it (temps below 80C), increase the Power Limit (not an option on a 75W slot power GPU like the 1050Ti) to reduce that limiting factor. If the GPU is at 80C or so but the fans are not running close to 100%, I prefer to set a custom fan curve in Afterburner with 100% fans at 83C and ~20% fans at 40C (I prefer cooler to quieter). Click Settings then the Fan tab, Enable user defined fan control and edit the graph. If the fan speed graph is stairstep instead of diagonal lines, double click anywhere on the graph to switch to diagonal. Click the points to select (they're a royal pain to select) and drag or hit Del to remove. Click Apply and OK when you're done. The Fan Speed (%) in Afterburner should be set to Auto now. Click it and hit Apply if not.
We've now established the max speed that you're GPU will run at. Now we're going to back off that to give up a bit of speed for a (hopefully) large voltage, wattage, and heat reduction.
You can stop running Valley for now and give your GPU and fans a rest. Also let's save your settings. In Afterburner, click Save and then one of the numbers. Since this is theoretical max, I chose slot 5.
Now lets see what that Core Clock setting actually does and how we take advantage of it. In Afterburner, hit Ctrl-F. This is the table your GPU uses under load to match a GPU speed to a voltage level. It seems that in practice, your GPU has a preferred *voltage* it can run at and then limits it's clock speed to match that. You noted a VDDC voltage in GPU-Z earlier when we ran the Valley loop before the overclock. Look that number up on the bottom of the chart and it should match to the max clock speed you saw on the left of the chart.
You saved your setting as #5 above. I'll use +150 MHz as a reference here and my values from now on, *plug in your numbers whenever you see these*. With the chart open set your core clock back to +0 in Afterburner. Note that the chart values just jumped down and at the same voltage (again 1050 for mine) the MHz speed is lower. For my 1080 card, those values are:
@ +0 MHz: 1.050v 1911 MHz
@ +150 MHz: 1.050v 2061 MHz
This means that in the +0 MHz setting, we are using too much voltage to produce 1911 MHz. That's wasted power and heat. Lets go back to the +150 MHz Core Clock curve and read out for the closest entry to 1911 MHz:
@ +150 MHz: 0.925v 1910 MHz
If we restrict the GPU to 1910MHz, we should only need 0.925v to run stably. That right there is a 0.125v undervolt waiting to happen.
Side note: you see much higher voltages and speeds are listed towards the right of the chart but you'll never reach those with your GPU, so ignore them. But below that to the left, in theory every voltage level should be stable at every matching frequency at your +150 MHz overclock.
Let's use 1910 MHz as a reference and we're going to edit the chart to prevent the GPU from using more than 0.925v and 1910 MHz. Set your Core Clock in Afterburner to +150 if it's not there already. Back at the chart, click on every data point to the right of the 925 setting and reduce the number displayed at the left of the chart to 1910. Yes, that's a lot of data point to edit and the selection of each point is the same royal pain as the fan curve. You may need to hit things around the house to vent your annoyance from time to time. I drag until the number is close and then use the arrow keys to fine tune to 1910.
When you're done you should have a nice curve from the left to 925, 1910 and a flat line to the right. *Do not lose your work*:
Click somewhere neutral on the Afterburner window
Click Apply
Click Save
Choose a number, I use 3 for this intermediate setting.
Now you haven't lost your work. Note that the Core Clock setting now says Curve. Test it out back in Valley again. Note your voltage, it should be 0.925. Note your Power Consumption, it should be noticeably lower. Same for GPU temps and fan speed.
Note your GPU clock, it's a little lower than 1910. Mine settles around 25MHz below the setting I choose to 1886MHz, sometimes a bit lower when running at max in a game.
You can try to compensate for this by targeting a slightly higher voltage and speed but my GPU has a bit of a mind of it's own about this. The higher you cut off the curve, say with a much smaller undervolt to 1.00 where my GPU should do 2025 MHz, it settles down even further to 1961 MHz. IOW, the closer you get to theoretical max MHz of your particular GPU in the silicon lottery, the less benefit you get from undervolting. In fact this is why you overvolt a CPU (and GPU I assume), to get those max clocks and damn the power usage.
Random notes: When you click back into Afterburner at a later time and look at your now half-flat voltage/frequency curve, you may see a small kink in the flat display side which you didn't put in there. Ignore it, it seems to be a display error as I haven't seen it affect my undervolt settings in-game.
You can arbitrarily choose *any* place to cut off/flatten the top of your voltage frequency curve below the 1.05v cutoff and if you're really looking for power savings (like in a laptop GPU), you may want to target even lower clock speeds. I have 3 different presets depending on how GPU intensive the game is and the ambient temp in the room.
One last note: When testing with games that run on a potato, like Rocket League, Minecraft, even Tomb Raider (2013), don't use a curve. I just set my Core clock to minimum (-400MHz) but don't make a custom curve to cut off the higher voltages. It never reaches those higher frequencies during gameplay and seems to use a bit less power with the regular curve. Leave GPU-Z on while playing and check out your usage afterwards, it's fun.
If this actually makes sense to anyone, I'll be amazed. But it makes sense to me.