[openbeos] Re: plug-ins [was Re: ShowImage "Mirror" Operations]
- From: "Axel Dörfler" <axeld@xxxxxxxxxxxxxxxx>
- To: openbeos@xxxxxxxxxxxxx
- Date: Mon, 31 Jul 2006 11:25:42 +0200 CEST
Stephan Assmus <superstippi@xxxxxx> wrote (in April, if you didn't
remember :-)):
> > almost no matter how big the app is; the
> > parts that aren't used in an application are only loaded on-demand,
> > they never get loaded if the functionality is never used (same for
> > libraries).
> Because of virtual memory, mapping the executable and lazy loading?
> Interesting. Is it true that putting all the GUI creation code into
> one
> place in the executable helps application launch time then? By pure
> laziness, WonderBrush happens to have the GUI creation code for its
> main
> window in one object file. Is this actually good for performance
> then? Or
> is the linker optimizing stuff and shuffling things around according
> to
> execution path?
The application is linked before it is run, as we don't have
implemented lazy linking yet, other than that, yes, that could help
having it loaded faster.
> And another question: Does BeOS use lazy loading or is this a Haiku
> thing?
> I have noticed that on Haiku, when I use a tool in WonderBrush the
> first
> time, there can be a short delay and some disk activity. Is this the
> effect
> of lazy loading? I wouldn't mind if there was a process that kept
> loading
> the app in the background to fill the virtual mapping so the chances
> of
> seeing this delay become less likely.
Right now, Haiku loads single pages on a page fault, and that's far
from optimal. When we reduce the "resolution" there, I'm sure the delay
will already be reduced noticeably.
Furthermore, a prefetching algorithm in the background is planned to be
there as well, as long as there is enough memory left :-)
> > I think
> > Refraction is just poorly designed, especially in BeOS with its 32
> > MB
> > system wide add-on limit (but even without it).
> At least it should be usable when all plugins are removed. "Non-
> optional
> plugin" defeats the purpose of "plugin". Plugins should be either for
> making it possible to extend the app by third parties, or for the
> user to
> be able to remove unused stuff (like from the interface).
Exactly my opinion :-)
They can be handled identically internally, but that shouldn't be taken
to the extreme in that required parts of the application are exported
as an add-on.
Bye,
Axel.
Other related posts: