I just noticed: no more crashes! Thanks, KDE team!
1i5t5.duncan at cox.net
Wed Aug 3 17:20:46 BST 2011
Kevin Krammer posted on Wed, 03 Aug 2011 14:46:31 +0200 as excerpted:
> On Wednesday, 2011-08-03, Duncan wrote:
>> Sergei Andreev posted on Wed, 03 Aug 2011 12:39:01 +0400 as excerpted:
>> > And the answer is:
>> > http://www.freehackers.org/thomas/2009/11/10/wonders-from-a-kde-fan-
>> > developer-about-some-kde-design-choices/comment-page-1/#comment-7507
>> Of course it doesn't perform well with each plasmoid as a separate
>> process... because they chose components with that characteristic.
>> That's the point. It was a new thing so they could chose the
>> components they wanted, and [they chose poorly].
> Actually no.
> It is mainly a problem of the underlying technology, i.e. embedding one
> process' window into another one's not being very well supported, or at
> least not on X11.
> It is less a problem of performance, Konqueror has done plugins
> out-of-process for ever (incidentally making it the only browser to
> survive Flash crashes for years before other browsers changed to that
> model as well).
Valid and interesting point. Not one I've had a lot of direct experience
with since I won't do flash because it's proprietary, in the first place,
but yes, it's valid, and kde has been recognized for it.
> But it clearly showed the limits of the underlying technologies used for
> that, e.g. the embedding process having little to no control over the
> embedded window (other than probably size and position) and embedded
> window having very few means of communicating needs to the host (and
> having two separate and exclusive event processing contexts).
> So with basically forced to have all UI portions in the same process,
> running the data processing in separate execution units might be
> possible in some occasions without dragging down performance too much
> (as indicated by Aaron in the linked comment).
I can't argue with that, either.
But what about the other bit, where I suggested (rewording a bit) that
(1), a natural process subdivision would be at the container level, that
(2), while a whole individual panel or desktop container crashing
wouldn't be as good as limiting it to an individual plasmoid, it'd
certainly be far better than all of plasma including all panels, all
desktops and all activities coming down at once, thus significantly
limiting the damage, that (3), given existing behavior both with effects
on and with them off, separate container processes each with their own
window would behave very little differently in terms of composite, etc,
and (4), that inter-container/inter-process communication could be
reasonably limited without affecting performance /that/ drastically,
while at the same time, /drastically/ improving robustness, just as it
has with the separate krunner and as it does currently when for example
using plasmoidviewer or plasma-windowed for plasmoid-development or the
It seems to be that would be a reasonable compromise, bypassing both the
worst of the stability problems by limiting crashes to a single
container, and the worst of the performance problems, because each
container would then be its own window.
The user experience I have establishing this includes running a separate
superkaramba instance, set to top-dock so it's very nearly replacing an
entire plasma panel. It's /very/ nice to have that still running when
plasma itself crashes or I shut it down and restart it. Given that as
I'm using it, it's almost replacing a full plasma panel... I still have a
systray/notifier plasmoid on a short panel at the end... the concept has
certainly been demonstrated to be effective here, and I'd very dearly
love to see each plasma desktop (two monitors, separately configured
wallpaper and plasmoids, separately crashing would be nice...) and each
panel independent of the others process- and crash-wise, just as my
superkaramba panel is independent of plasma.
As proposed, IPC could be used between desktop and panels for drag-n-drop
integration, etc, probably implemented using dbus, and the performance
hit shouldn't be any more critical than it is when dragging something
between say dolphin and a folderview plasmoid. Yet robustness would be
HUGELY improved, because each panel and each desktop would survive a
lockup or crash of one of the others.
Meanwhile, I did notice that the link mentioned konsole as suffering from
a similar issue at the time, all konsole windows belonging to a single
process. That has apparently been fixed for some time, since at least
4.5 I'd guess if not 4.3 or 4.4, as I routinely see multiple konsole
processes and double-checked after reading the discussion -- using the
xkill hotkey only kills the one konsole window, not all of them as it did
back then. =:^)
Now if I could only kill one plasma panel/desktop/container at a time...
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
More info: http://www.kde.org/faq.html.
More information about the kde