On 13. Jan 2008, at 12:58, Gordon_Erlebacher wrote: > Hi Stefan, > > Thanks for the help. After making the suggested changes, the first > rendered image > happened faster. But rotating the image did not appear significantly > faster. I did > not benchmark though.
It shouldn't make a huge difference whether the first or subsequent frames are assembled. > > The only bottleneck relative to 2-pipe.DB.eqc should be transferring > data to my > mac. The original config runs completely interactively the HPs (at > work). Correct. The transfer happens through the indirectly glDrawPixels executed on the remote machine and displayed on the local machine - hardly the most performant way of doing this. ;) > I did get speedup by reducing the viewport in "Channel3" (my home > mac). That is reasonable. > Is Equalizer simply transfer the bitmap from the assembled version > to my home machine or is > something else going on? See above - the Equalizer does a glDrawPixels. The transfer happens through the indirect rendering. > Suggested Use Case: > > I'd like to wrap en Equalizer code in a Web Service for remote > visualization, or even collaborative > visualization. To this end, the following mode would be useful: the > final bitmap generated by > Equalizer (a simple color buffer) should be sent to some stream (or > a a user-specified socket). For a prototype this hook can be implemented in Channel::frameAssemble. One can access the raw pixel data here - see src/lib/client/compositor.cpp on how to do this. The trick is to find out which of the frameAssemble invocations is the 'final' one to distribute. For a prototype one could use a special output frame name, e.g., 'frame.channel1.export'. > This could be set in the configuration file. Agreed. > That socket can then be use by an external program to > do what it wants (perhaps this will be the case once Chromium is > integrated? I have no direct > experience with Chromium). If you could help me with this, I > "might" be happy to help out. I was thinking of exporting it through the VNC protocol. This would allow integration with VNC proxies. I haven't looked at the VNC code yet to see how this can be implemented. I think it should be some flag on the output frame. I'll think about it a bit - if you have suggestion I am happy to hear them. You can also start gathering all this in a design document, see the existing ones in website/documents/design/. > Another Use Case > > I'd like to construct configuration files on the fly, assuming I am > in an environment where GPUs > are used for computation, and jobs are being submitted by a > scheduler. I would not know in > advance which GPUs in a particular cluster would be used. You can construct configurations programmatically - the configTool does just that. There is currently an undocumented Server::useConfig() method. This might go away in the future, but would be replaced by an API providing the same functionality. HTH, Stefan. _______________________________________________ eq-dev mailing list [email protected] https://in-zueri.ch/cgi-bin/mailman/listinfo/eq-dev http://www.equalizergraphics.com

