Help - Search - Members - Calendar
Full Version: Reducing power consumption during playback
Hydrogenaudio Forums > Hosted Forums > foobar2000 > General - (fb2k)
Esben
Hello,

When everything is idle my CPU and case temperatures drop to amazingly low levels. But even with just audio playback (constant low CPU utilization), they are much higher.

Would it not be better to decode a huge chunk of audio (10 minutes) and then have the soundcard play it back from memory (DMA), without the constant low CPU load?

It would make it possible to run the CPU without fan, and also think of the decreased power usage, making music playback cheaper and more environment friendly.
Zoominee
That's a great idea! I fully support it. However, I have no idea if it's technically feasible.
kalmark
Can't Preferences -> Playback -> Full file buffering be used for this?
bleh
Esben -
You're probably not going to get the CPU load much lower than it would be just playing a PCM WAV file, since even if you somehow stored the data in memory, the CPU would still need to be pulling the audio data out of memory and sending it to the sound card. If you're having issues with whatever format you're trying to play back making your copmuter too hot, you could try decoding it to WAV first and then play that back, provided that you've got that hard drive space to do it. Also, just to make things clear, decoding a huge chunk of audio at once, then playing back the resulting PCM data will not use any fewer CPU cycles than decoding the file in real-time - it'll just concentrate them all into one really CPU-grinding session rather than just making your computer kind of warm for a while.

If I were you, I'd make sure I didn't have any unnecessary CPU load associated with playback, like resampling or dither or Monkey's Audio insane.


kalmark -
I thought that was for buffering the source file, like when you're reading the file over a network connection and you don't want to be interrupted by occasional periods of high load or something, not for buffering the decoded audio. Maybe I'm mistaken :|.
upNorth
user posted image
The perfect codec for an environment friendly project... biggrin.gif

More serious though, I agree with bleh that you probably don't have alot to gain. Even though portables buffer to reduce power consuption (less disk usage), I could still make use of that extra heating most of the year. Depends on where you live of course. smile.gif
Esben
QUOTE(bleh @ Sep 6 2004, 05:44 AM)
Esben -
You're probably not going to get the CPU load much lower than it would be just playing a PCM WAV file, since even if you somehow stored the data in memory, the CPU would still need to be pulling the audio data out of memory and sending it to the sound card.  If you're having issues with whatever format you're trying to play back making your copmuter too hot, you could try decoding it to WAV first and then play that back, provided that you've got that hard drive space to do it.  Also, just to make things clear, decoding a huge chunk of audio at once, then playing back the resulting PCM data will not use any fewer CPU cycles than decoding the file in real-time - it'll just concentrate them all into one really CPU-grinding session rather than just making your computer kind of warm for a while.

If I were you, I'd make sure I didn't have any unnecessary CPU load associated with playback, like resampling or dither or Monkey's Audio insane.
Thank you for the answer bleh. I don't want to have lower total number of clock cycles used for decoding the file, I just want to concentrate it into a small amount of time. In the other time periods, I'd want the CPU to enter C1 or C2 state, with the lowest power consumption.

I have tested MP3-decoding performance to take about 3 seconds for a 10 minute decode. I would very much prefer to use 3 seconds full load, and then being idle for 9 minutes and 57 seconds.

With regards to "the CPU pulling the data out of memory", I was under the impression that DMA (Direct Memory Access) meant the expansion board could request the data from memory without CPU interaction. Is that wrong?
bleh
I guess it would be possible to do that with DMA if the sound card is okay with playing back 100 MB or so of PCM data from memory. I'm still not sure whether having the CPU run at 100% for a short period of time and then do nothing would reduce power consumption, though I suppose you might be able to run the CPU without the fan after it cooled down from decoding the MP3 files.
Melomane
to Reducing power consumption during playback use CPUIDLE
http://www.cpuidle.de/
Stalwart
Win2k/XP has cpuidle style system out-of-box wink.gif
Melomane
QUOTE(Stalwart @ Sep 11 2004, 10:21 PM)
Win2k/XP has cpuidle style system out-of-box wink.gif
*



interesting, how it work ? rolleyes.gif
bexx
I doubt cpuidle does anything now (that you can't do for free)
All those cpu cooling programs came out when win9x was around, which wouldn't send the HLT command when the cpu was idle.. every modern os will send the HLT command (including win2k/xp).

Not sure what else cpuidle could do... it can't do magic.

If you happen to have a NF2 mobo you can try the hack on this page...
http://www.newgenerationorder.org/index.html
it showed up on hardocp news, people been doing it on amdforums.com for quite awhile, you can either use the hack thing or go find it on amdforums nad use a hex editor and change 2 numbers if i remember...

it does work, some mobos alreayd have it enabled.. it created some stability issues at one time so alot of mobo manufactors leave it turned off... theres a thread about it on hardforums now too... no one seems to have issues

It worked for me fine.. idle temp is down a few C (even with foobar playing tongue.gif) It shouldn't really matter if your computer is idle for 9/10 of a second and loaded for the other 1/10 or its idle for 99 seconds nad loaded for 1 second... its thae same. I wouldn't be afraid to try it... my xp is pushed pretty far (2600mhz 13x200) i ran prime95 torture test for 24 hours after i installed that hack to make sure it didn't mess anything up and its fine.

If you want to save electricty a much easier way would be buy a new powersupply.. seasonic powersupplies get over 80% eff vs the average of probably 60% of most powersupplies. Thats not mentioning PFC.. most powersupplies get 50%, passive pfc are 90s and active get 99%... homes arn't charged for pfc, so its not gonna save you money getting a apfc powersupply but its good for the world wink.gif. Europe all powersupplies now have to have at least passive pfc.
bexx
sorry for this rant...
okay just looked at cpuidle's site.. i wouldn't use it just because i'd be associated with the people who wrote those comments...

"Simply amazing! My cpu's temperature come down to 36° (before was 46!). Your software works better than those expensive copper heatsink and noising fan and, not last, is cheaper!"

Yea..... except cpuidle does nothing to your load temp, lets say your computer would crash cause it was too hot... you could use a decent heatsink and be fine.. or you could use cpuidle!... at least until you played a game and it heated up and crashed again. Lets assume the computer didn't crash cause it was hot... then why do you need cpuidle? HMM

"...other that I'm amazed. ...I checked my idle temp before install, and it was at the usual 106F. After installation of the software, my processor idles at 96F. A ten degree drop almost instantly! Amazing! ...I was happy after I just installed my new Zalman CNPS7000A-CU heatsink and fan. Now I'm ecstatic! Your software is a gift to overclockers everywhere. Thank you!"

Again I would say it is impossible for cpuidle to give any better of an overclock... because cpuidle does nothing to load temps. Load is when a overclocked cpu is going to fail... cpuidle does nothing to stop that.

"Now my PC doens't crash anymore due to overheating. When I was surfing on the internet or working in VS.net, the temp op the CPU rised up to 65°C, now it's only 43-45°C. This is just amazing. biggrin.gif"

Hope he never tries to compile anything large or do anything that will load the cpu... cause AGAIN... it does NOTHING to stop the computer from crashing due to heat.. soon as it is loaded.. cpuIDLE (look at work idle) does nothing.

every comment is exactly the same.

Really your cooling solution has to be able to cool worst case (which is not idle) idle temp means crap most of the time... actually they do mean crap... idle power draw might mean something... but every person they show is happy to see a worthless number be smaller. If you want a quieter computer I'd read over at silentpcreview.com and spend your money one something useful.


--edit--

okay sorry i got sidetracked... about the topic.. that nf2 hack will put the cpu in C1/C2 state, although I don't think nf2 mobos support C2... whatever type of mobo you have check the bios to see if theres a "CPU Disconnect" option.. which means C1/C2. I doubt intel chipsets would not have a way to enable it (if it is not aways enabled)... a64 mobos read about quietandcool.. i think HLT automatically sets cpu to C1/C2.. quiteandcool tho will underclock the cpu as well with little load. C2 state kinda sucks, it the cpu can't enter and resume from it very quickly.. i'm not sure how many chipsets will put the cpu in c2 state. entering C1 state is no problem to do a number of times a second.. the overall powerdraw is not going to be much differnet if you decode the audio all at once or a little bit at a time.. even if you're computer is doing nothing, its not sitting in C1 state constatnly, it will resume becasue the os and any services open will do stuff. Even decoding audio a litlte bit at a time, when its idle the cpu is still sent the HLT comand and put in C1 state.. decoding all at once at most will save a miniscule amount of power. Man i'm like rambling, most important point is that there isn't a minimum amount of time to be sent to C1 state.. every second the cpu can be enter C1 and resume a number of times.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.