DVD/CD Rendering: Optimizing for Power on Mobile Platforms

by Rich Winterton


Introduction

Have you ever taken your laptop computer on an airplane to watch a movie or listen to a music CD while traveling? Let’s assume you had a fully charged battery when you got on a plane in New York, NY, traveling to Los Angeles, CA. On a typical laptop, you could work on your computer from New York to somewhere over Nebraska before the battery runs out. If you use the techniques applied in this paper you might be able to continue to work on your computer until you were flying somewhere over Utah, some 54 minutes later. This paper discusses a technique to minimize power consumption while watching videos or playing audio CDs on a mobile computer.


Mobile Laptop Power Consumption

Power requirements on today’s mobile platforms are more demanding than ever. With the higher performance laptops, the demand on the battery is very high. Most laptop batteries are a Lithium Ion battery with the capability of delivering up to 66 Watt Hours per charge and have a voltage output of ~15 VDC. The typical configuration of today’s laptops includes the following:

  • Processor
  • Network Connectivity
  • 256 MB of Memory
  • 30GB High Speed Hard Drive
  • 8X DVD Drive
  • Stereo: 18-bit Sound Controller
  • SXGA Display

 

With the battery being drained by the processor, memory, network interfaces, hard drive, DVD, sound and video, anything you can do to conserve power will improve the mobility of the platform. One way to conserve power on your laptop is to do the task as quickly as possible, and put the hardware back in a power savings mode after accomplishing the task. This optimization technique is the basis for saving power on a mobile device while using the DVD/CD drive. With today’s high performing processors, the limiting factor in getting information off a DVD/CD is the speed of the drive. This is especially true when ripping (reading data off of a DVD/CD) to a similar format such as an audio CD coming from a format Redbook format to wav. With today’s technology, most DVD/CDs take an average from 12 to 18 W of power over time when active, depending on what the device is doing.

The 12 to 18 W is power that can be saved if you can put the DVD/CD in an idle state sooner. The concept behind this power optimizing technique is to rip the DVD/CD tracks prior to rendering the content, thus putting the device into a lower power state sooner.

Riping and rendering the content


Power Optimizing Technique

This technique minimizes the time in which the DVD/CD is active. Before describing the implementation some tradeoffs should be considered.

  • Random access of data - How do you handle random data selection?
  • Threading the application - Is the power savings worth the extra complexity in threading the application and managing the content queue?

 

This paper addresses each of these issues, and leaves it up the developer and product manager to determine the value of this technique in their respective markets. First the considerations:

Random and selective tracks

One option usually provided when listening to an audio CD, or watching a video, is fast forward, or random access to tracks; or it could also be a one-time or repeat content command. For large amounts of data cached and random access of data, this could pose a problem in that it will spin up and spin down the DVD/CD, thus little benefits for the effort are achieved. Some type of cached content list is recommended with the application controlling which content should be cached.

Threading the application

In order to perform the two tasks (ripping and rendering) in a transparent manner to the end user, the applications require a minimum of two threads - one to render the content and the other to continue ripping. Most audio applications are multithreaded by nature and this should not be a significant challenge.


Optimization Implementation

Optical disks consume a significant amount of power when active. A typical DVD/CD spinning up a disc can draw up to 30 watts for the spin-up duration. After spin-up, the power tapers off to very little usage. Another number to consider when optimizing for battery life is the drive efficiency: each drive consumes different amounts of power depending on what is going on. The following list is representative of drives and power consumption during different periods of use. The maximum power is typically the power consumed when the drive is first starting to spin up the DVD/CD. The “Play” power is after the drive has spun up and is accessing the data. The “Idle” power is the power used when the drive is idle and not being accessed.

Max Power Play Power Idle Power
20 watts 2.31 watts 0.17 watts
25 watts 2.64 watts 0.30 watts
30 watts 3.35 watts 0.15 watts
30 watts 3.57 watts 0.15 watts

 

Comparative drive effectiveness can be defined as the play power divided by the transfer rate to give Joules/Byte. For example, to copy a 143 MB file would have the following comparative drive effectiveness:

Play Power Transfer Rate J (Energy) J (Energy) / K Byte
2.31 watts 3873.621622 (KB/S) 85.47 J 5.963E-04 (J/KB)
2.64 watts 4623.354839 (KB/S) 81.84 J 5.710E-04 (J/KB)
3.35 watts 4094.971429 (KB/S) 117.25 J 8.181E-04 (J/KB)
3.57 watts 4478.875 (KB/S) 114.24 J 7.971E-04 (J/KB)

 

Given this bit of information we can now do a comparison. This comparison helps put into perspective why this technique is so effective for the appropriate access of data on a DVD/CD.

The following graph displays the energy required to spin-up a DVD/CD, and compares it to the energy required to copy a 143 MB file from the media that was referred to earlier.

Play vs. Spin-up Energy

Notice that even in the most efficient case, the amount of energy to spin up the DVD/CD is almost half the amount of energy required to retrieve the 143 MB file, and in some cases almost equivalent. This makes it clear that you don’t want to constantly spin the DVD/CDROM very often since it is a very inefficient use of energy. But what about playing the DVD/CD?

If you were to play a CD with 8 tracks (totaling about 325 MB of data) just using Play mode, it would take about 4250 Joules to keep the DVD/CD spun up for the whole time (30 minutes and 42 seconds) you were listening to the 8 tracks. If you were to spin up the CD 8 times and read, then cache the data, it would take from 350 - 700 Joules depending on the spin-up and access energy required by the drive. Even a worse case scenario of 700 Joules would result in over 6 times savings in power. A word of caution-don’t assume that this improves the battery life by 6 times! As you know, this is only 6 times the power saving of the DVD/CD drive, and it only takes up a small proportion of the overall battery power.


Conclusion

This paper discussed a technique of optimizing a multimedia application when it accesses content from a DVD/CD, but has left out one important detail. What does this extra work buy the application in power saving? As a test, three popular laptops running Windows* XP were tested by playing an audio CD. Two techniques were used in playing audio CDs. The first technique is the standard way most CD players work where the CD spins-up and down and keeps spinning while the tracks are playing. The second technique of ripping the content and shutting down the DVD/CD and rendering the content from memory was then tested. After performing both tests with both techniques, a power savings of 18, 21, and 30 percent were obtained by ripping the audio tracks to a hard drive while playing the previously ripped tracks from memory. If a savings in battery life of 18 to 30 percent is important in your application and cust omer use model, using this power saving technique is probably worth the little extra effort it takes to get it.


Additional Resources

Articles


Developer Centers


Community

 

Download the PDF (122KB)

 


About the Author

Richard Winterton graduated from Brigham Young University with a bachelor’s degree in Electrical Engineering in 1986. After that he designed and developed communication ASICs, device drivers and an OS for F-16 class fighters at Lockheed Martin. In 1994 Richard joined Intel Corporation as a Senior Software Engineer developing LANDesk* Management and Intel NetStructure® products. Richard is currently optimizing and enabling applications for Intel’s latest and next generation products.

 


Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.
Etiquetas: