I've spent a lot of time on this.
Best solution, get nvidia inspector.
Use multi display power saver feature of this program to force whatever program (in my case civ 6) to use p8 state.
This causes the program to use the lower voltage state (which keeps the temperature lower).
Also, overclock the p8 state. You can go maximum 810Mhz on the shader, but you can go 897 on the memory.
This is optimal.
Good luck
.