You should switch your reading settings to Celsius, and use Core Temp or HWinfo (NOT HWmonitor or Open source monitor) to monitor temps.
If your readings are accurate, then your fine as 77°F is only 25°C, which is fine for idle, good even. I'm not sure what you mean by "performance", but if by that you mean when under FULL load, I'd find that hard to believe so something isn't right there. There should be no way for a stock 4790k to only be 31°C under load, so "performance" must be something other than that.
CHeck your load temps using Prime95 version 26.6 and ONLY version 26.6:
http://windows-downloads-center.blogspot.com/2011/04/prime95-266.html
Download, install and run "Small FFT" only. NOT blende, not large FFT. Make sure you have Core Temp or HWinfo (Sensors only) running as well so you can monitor temps. Run Prime 95 for 10 minutes. If the temperatures exceed specifications during any point of the test, close the stress test. Report back with the actual temps. You can use another stress utility but it's not going to be as accurate a reflection of steady state thermal loads as Prime95 V26.6.
Core Temp: http://www.alcpu.com/CoreTemp/