… for Codecs & Media
Tip #828: What is Hardware Acceleration?
Hardware is faster because it doesn’t have the latency and overhead of software.
As media compression codecs get more complex, compression starts taking longer and longer. Hardware acceleration comes to the rescue, but… what, exactly, is it doing?
In computing, hardware acceleration is the use of computer hardware specially made to perform some functions more efficiently than is possible in software running on a general-purpose central processing unit (CPU).
Hardware is far faster, but software is far more flexible when it comes to handling change. Hardware is superior when performing the same task over and over and over again. This is because software has a processing overhead due to loading and interpreting instructions as well as data. Hardware, provided it is designed for that purpose, doesn’t have the overhead and delay associated with software. But, it is much more difficult changing hardware when the task it needs to perform changes.
An operation can be computed faster in application-specific hardware designed or programmed to compute the operation than specified in software and performed on a general-purpose computer processor.
Hardware acceleration is advantageous for performance, and practical when the functions are fixed so updates are not as needed as in software solutions. However, the invention of reprogrammable hardware (FPGSs) has allowed hardware to be more flexible because it can be reprogrammed as necessary.