LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices

Reply
 
Search this Thread
Old 01-27-2007, 12:18 PM   #1
Thread7
LQ Newbie
 
Registered: Jan 2007
Posts: 3

Rep: Reputation: 0
Linux Performance on embedded devices


I've been messing around with the Linux based MythTV for a few months now and something has always bothered me. Why does it take a 2.0Ghz+ CPU with decent RAM and a nice TV tuner card in order to get acceptable performance?
These Linux devices all perform well with much less: A Series 1 Tivo has a 54Mhz PowerPC CPU and I'm not sure how much RAM. But I know it must not have even 512MB. I have a Linksys WRT54G Wireless router with a 200Mhz CPU and 16MB RAM. I also have this neat new device called Neuros OSD (Open Source Device). It has a 200Mhz ARM CPU and can record video to storage memory cards. None of these products have any performance issues.
So what is it about a non proprietary set up such as MythTV that makes it such a performance hog? Here are my suspicions:
1. The Linux kernel is compiled specifically for the proprietary device.
2. Since each proprietary device only needs specific hardware, a lot of overhead and CPU cycles are saved.
3. The makers of these devices have just tested them like crazy to fine tune performance.
4. They don't use X Windows which is a performance hog? (I know the Linksys does not but unsure of the other two)
5. They were all programmed in a low level language. (But Myth is mainly in C I thought)

Any ideas? This problem really perplexes me.
 
Old 01-27-2007, 05:05 PM   #2
macemoneta
Senior Member
 
Registered: Jan 2005
Location: Manalapan, NJ
Distribution: Fedora x86 and x86_64, Debian PPC and ARM, Android
Posts: 4,593
Blog Entries: 2

Rep: Reputation: 326Reputation: 326Reputation: 326Reputation: 326
Does your "nice TV tuner card" have an on-board hardware encoder (like the one in the Tivo)? I suspect not, or you aren't using it, or it's not very good. It's very similar to software 3D vs hardware 3D using your video card's GPU. Normally, CPU usage should be very light if all the processing (other than disk I/O) is being performed by the tuner card.
 
Old 01-28-2007, 12:10 AM   #3
Thread7
LQ Newbie
 
Registered: Jan 2007
Posts: 3

Original Poster
Rep: Reputation: 0
Actually the TV Tuner does have an onboard MPEG encoder. It is the Hauppauge WinTV-PVR-150. But I have tried various tuner cards and only have acceptable performance when coupled with a 2 Ghz CPU or higher. This post was more broad based though than just a discussion of one of my systems. I just don't understand how Tivo can get by with 54Mhz while Myth Tv needs a 2Ghz system to do pretty much the same thing.
 
Old 01-28-2007, 10:41 PM   #4
macemoneta
Senior Member
 
Registered: Jan 2005
Location: Manalapan, NJ
Distribution: Fedora x86 and x86_64, Debian PPC and ARM, Android
Posts: 4,593
Blog Entries: 2

Rep: Reputation: 326Reputation: 326Reputation: 326Reputation: 326
It sounds like you are using software encoding, instead of hardware encoding - you are not using the hardware encoder on your capture card.

From the MythTV documentation CPU Type and Speed:

Quote:
MythTV has two modes of operation. First, it can function as a software video encoder, which means that it uses a fairly generic "dumb" video capture card to get frames of video, encodes them using the CPU on your motherboard and writes them to disk. High-end video capture cards and devices like the TiVo and ReplayTV have dedicated encoder chips which use specialized hardware to convert the video stream to the MPEG-2 format without using the motherboard CPU. The main CPU has the responsibility of running the Operating System and reading and writing the encoded frames to the disk. These tasks have fairly low CPU requirements compared to encoding video, which is why a device like a Series 1 TiVo can run with only 16MB of RAM and a 54MHz CPU.
From the Hardware MPEG-2 encoders section:

Quote:
Here are some data points for encoding:

* A Celeron 450 uses 2% CPU for encoding a 480x480 16Mbps MPEG-2 stream.
Clearly, if you are monopolizing a 2GHz CPU, you are not using hardware encoding.
 
  


Reply

Tags
devices, embedded, mythtv, tivo


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Embedded Linux , Which? CPJ Linux - Software 2 12-02-2006 08:09 PM
LXer: Lynuxworks Updates BlueCat Embedded Linux for Improved Performance ... LXer Syndicated Linux News 0 09-18-2006 06:33 PM
LXer: Report: Embedded Linux--Rising or Falling in Consumer Devices? LXer Syndicated Linux News 0 06-27-2006 08:33 PM
Linux embedded on all devices, to shunt ms off there pedastool matthewhardwick Linux - Hardware 3 12-01-2003 03:07 PM
For embedded Linux unknown Linux - General 4 08-27-2003 06:57 AM


All times are GMT -5. The time now is 06:28 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration