Hi,
I recently purchased the C940 15" with the i9-9880H processor. I was a little skeptical about this purchase because of how many people are struggling with battery life. I'm rarely away from my desk and a power supply, so I was more going for this on account of the NVIDIA graphics card + the i9 processor.
I can verify that all of the suggestions by @liopag2 are extremely useful and do help battery life. My observations have led me to believe that if you can keep the fan from ever turning on while on battey, your battery life will be great. As soon as it turns on even at a low speed, the estimated battery life tanks. Undervolting should reduce the power required to maintain a specifc CPU clock speed, if I understand correctly. I am currently undervolting my i9-9980H at -125 mV CPU core, -125 mV CPU cache, and -60.5 mV iGPU. My system is perfectly stable even during heavy stress tests.
One of the other concerns I had about this laptop prior to purchase was whether it would be able to sufficiently cool itself to get the maximum benefit out of the powerful i9 processor. The obvious answer is most definitely not. When I run any program that uses 100% of all available CPUs, my CPU is thermally throttled to ~2.8 GHz to keep the TDP at 45W (and CPU temperatures at 70 C), which is barely above the 2.3 GHz of the base clock speed for the i9-9980H. However, when I undervolt at the settings described above, my CPU is still thermally throttled but instead hangs at ~3.2 GHz on all cores while the TDP is still at 45W and the temp is still 70C. I don't think I can undervolt much more without risking system stability. I'm not sure whether these settings are translatable to the i9-9750H either.
I'm still wondering whether the 6 core i9-9750H would perform better in this situation by due to the higher base clock (2.6 GHz). Specifically, what performs better -- the 12-thread that can turbo boost all cores to a clock speed higher than the 3.2 GHz, or the 16-thread chip stuck at 3.2 GHz. This is something I wish Lenovo would have made clear, that you won't actually hit what your processor is capable of because the cooling capabilities of the C940 are insufficient.
Edit:
You can also use ThrottleStop to set the Speed Shift - EPP much lower than you can using Windows settings. For example, Windows sets this parameter at "178" when you click on the battery icon and slide it to "Better Battery" mode. I think that "Better Performance" is set to 87. You can go as low as 255, which will drop your idle core speed even lower. If you set it to 0, your cores wlil idle at peak frequency, which for my CPU is 4.8 GHz. Setting to 255 will make your laptop seem a litlte slow, but if you have enough cores you really won't notice too much. This has been one of the better ways I've found from keeping those dreaded fans from turning on.