Morgaine wrote: > > > PS. With regards to "Networking code in every plugin just to connect > to the client", networking is made available by the operating system > to every process through system calls or system subroutines, ie. the > thinnest interface possible. There is no bloat or overhead involved. > Particular languages sometimes pretty up the system interface a > little, but these bindings do not normally introduce any significant > overhead. Throughput and latency of socket communications is not a > significant issue either --- I've measured them in an environment > which emulated this design pattern, and the level of performance might > even suit some rendering tasks. >
When extra speed is needed, the shared memory design of the media plugin can be used to augment/replace socket connections. The only caveat there is that each OS has a limit on how many shared buffers can be used per process/machine. On Mac OS X, without some superuser tweaking and maybe a restart, it's 8 per process and 32 per machine. Other *nix have more I think and I have no idea what Windows allows. Regardless, its something that should be used sparingly. Lawson _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges