[Vm-dev] Removing most of the windowing code

tim Rowledge tim at rowledge.org
Thu Nov 24 18:55:28 UTC 2016


> On 23-11-2016, at 11:12 PM, Ronie Salgado <roniesalg at gmail.com> wrote:
> 
> In DisplayScreen class >> startUp we have the following:
> startUp  "DisplayScreen startUp"
>     Display setExtent: self actualScreenSize depth: Display nativeDepth.
>     Display beDisplay
> 
> Does it make sense, to always trying to create a display in startup time?

No, it doesn’t. Ideally no resource should be started up/connected/created/tweaked until and unless it is actually needed by the running system.

Obviously, the default setup for a Smalltalk tends to be the GUI IDE and it’s so very easy to slide into the assumption that graphics and sounds and windows must be started up no matter what. We all do that kind of thing, even when we know we shouldn’t. You can make some reasonable arguments that an image configured to be an IDE ought to open a window or two during start up since that is kind of its raison d’etre.

My small protest against this is/was the RISC OS VM not creating a UI window until the first display update was made. At least that meant that an image with no need of a graphical UI never needed to do anything other than not display anything on the Display.

I’d say that all the host window IO related stuff ought to go into an extend HostWindowPlugin and be removed from the core. I’d also prefer all the plugins to be external, even though I know there can be a tiny performance hit, depending upon the details of how the OS does late binding. The unix VM kinda-sorta does some of this with the C++ usage and vm-display-xxxxx modules etc, but I think a lot more needs doing. And of course, the image needs lots of work to make good use of it. Until you have images that don’t need display/sound/sockets/whatever, there isn’t a lot of point worrying about the vm side.

tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: LA: Lockout Access




More information about the Vm-dev mailing list