Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!uwm.edu!bionet!agate!violet.berkeley.edu!pete From: pete@violet.berkeley.edu (Pete Goodeve) Newsgroups: comp.sys.amiga.programmer Subject: Re: Intuition Image structure rendering utilities Message-ID: <1991Mar29.074440.13711@agate.berkeley.edu> Date: 29 Mar 91 07:44:40 GMT References: <1214@muleshoe.cs.utexas.edu> <1991Mar27.080423.22023@agate.berkeley.edu> Sender: usenet@agate.berkeley.edu (USENET Administrator) Organization: University of California, Berkeley Lines: 37 In (27 Mar), Matthew Dillon (dillon@overload.Berkeley.CA.US) writes: > > Probably the best way to implement this sort of stuff is through > dynamically linked object modules. Nope, I don't think I agree with you there, Matt. Dynamically loaded modules are a nice idea all right, but I don't think they're so suitable for this purpose. The problem as I see it is flexibility. Unless you have a good match between the symbols in your program and the dynamically loaded stuff (in both directions) you're going to have some nasty hanging references. When you write your "top-level" program you have to make sure that you've satisfied ALL the references that the dynamic stuff might need. And different Renderers would probably have different requirements. Could get messy. With something like ppIPC on the other hand, both ends of the link are much more independent. You can expand facilities at one end without immediately worrying about the other. A renderer can do the best it can, even if there are some parts of the request it doesn't recognize. At the other end, the client doesn't have to be concerned with advanced features of the renderer that it doesn't need (or the author didn't even know about). As long as the interface (message format) is properly defined and observed, everything should work fine. Another advantage of a separate process is that it can be serving more than one client at a time, as opposed to code that is loaded into a program. An off-the-top-of-the-head example: suppose you had a renderer that could handle anims, but a paint program (with access to the renderer) that couldn't, and a showanim display module. You could flip between viewing the anim, and grabbing frames of it for retouching, without reloading anything. -- Pete --