From: Denis Vlasenko <vda.linux@googlemail.com>
To: Lee Revell <rlrevell@joe-job.com>
Cc: Jan Engelhardt <jengelh@linux01.gwdg.de>,
Eric Piel <Eric.Piel@tremplin-utc.net>,
mplayer-users@mplayerhq.hu, linux-kernel@vger.kernel.org
Subject: Re: mplayer + heavy io: why ionice doesn't help?
Date: Tue, 22 Aug 2006 18:26:08 +0200 [thread overview]
Message-ID: <200608221826.08802.vda.linux@googlemail.com> (raw)
In-Reply-To: <1156109768.10565.55.camel@mindpipe>
> > I eliminated skips due to CPU and disk using
> > nice and -cache 8000. I still can make it skip
> > when my KDE background picture is changing.
> >
>
> I also must run mplayer at nice -20 for it to be usable.
>
> > I think that these skips are caused by the X server.
> > It has no prioritization for request handling and
> > thus it does not paint mplayer output fast enough:
> > it needs to repaint background and semi-transparent
> > konsole(s), and that is taking a few seconds at least.
> >
> > This is probably aggravated by serializing nature of Xlib,
> > according to:
> >
> > http://en.wikipedia.org/wiki/XLib
> > http://en.wikipedia.org/wiki/XCB
>
> I think the problem is also due to mplayer's faulty design. It should
> be multithreaded and use RT threads for the time sensitive work, like
> all professional AV applications and many other consumer players do.
RT - yes, multithreaded - unsure. Witness how squid manages to
serve hundreds of simultaneous streams using just a single process.
Multithreading seems cool on the first glance and it is easier to code
than clever O_NONBLOCK/select/poll/etc stuff. However,
on single-CPU boxes, which are still a majority, multithreading
just incurs context switching penalty. It cannot magically
make CPU do more work in a unit of time.
--
vda
next prev parent reply other threads:[~2006-08-22 16:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-18 17:37 mplayer + heavy io: why ionice doesn't help? Denis Vlasenko
2006-08-18 17:57 ` Nick Warne
2006-08-18 18:01 ` Eric Piel
2006-08-19 18:04 ` Denis Vlasenko
2006-08-20 8:22 ` Jan Engelhardt
2006-08-20 14:43 ` Lee Revell
2006-08-20 16:43 ` Denis Vlasenko
2006-08-20 21:36 ` Lee Revell
2006-08-20 22:04 ` Jan Engelhardt
2006-08-22 16:26 ` Denis Vlasenko [this message]
2006-08-22 17:37 ` Jan Engelhardt
2006-08-22 17:38 ` Xavier Bestel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200608221826.08802.vda.linux@googlemail.com \
--to=vda.linux@googlemail.com \
--cc=Eric.Piel@tremplin-utc.net \
--cc=jengelh@linux01.gwdg.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mplayer-users@mplayerhq.hu \
--cc=rlrevell@joe-job.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox