<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div><span>Ah, this is interesting - I will definitely have a look at the SHM option for cross-process drawing.</span></div><div style="color: rgb(0, 0, 0); font-size: 16.363636016845703px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16.363636016845703px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span>For recording surfaces + the network:</span></div><div style="color: rgb(0, 0, 0); font-size: 16.363636016845703px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color:
 transparent; font-style: normal;"><span>Does the recording surface save the drawing commands to a buffer that I can then pass across the network, or would I serialise the commands that I was going to feed into a recording surface on the other side of the network ?</span></div><div style="color: rgb(0, 0, 0); font-size: 16.363636016845703px; font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: transparent; font-style: normal;"><span><br></span></div><div></div><div><span style="font-size: 12pt;"> </span><br></div><div>S++</div><div class="yahoo_quoted" style="display: block;"> <br> <br> <div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"> <div style="font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> On Friday,
 February 14, 2014 12:27 PM, Krzysztof KosiƄski <tweenk.pl@gmail.com> wrote:<br> </font> </div> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;">  <div class="y_msg_container">2014-02-13 14:46 GMT+01:00 Stuart Axon <<a shape="rect" ymailto="mailto:stuaxo2@yahoo.com" href="mailto:stuaxo2@yahoo.com">stuaxo2@yahoo.com</a>>:<div class="yqt7461258035" id="yqtfd84943"><br clear="none">> Hi,<br clear="none">>    I've been playing with zeromq to send drawing commands over between two<br clear="none">> processes, drawing them with cairo at the end and I noticed the cairo-tee<br clear="none">> backend - does this do something similar ?</div><br clear="none"><br clear="none">As far as I can see, cairo-tee works only within a single process.<br clear="none"><br clear="none">To delegate drawing to a different process, I think the easiest way is<br clear="none">to
 create a shared memory segment that backs an image surface and<br clear="none">write to it in one process then read it in the other. You would need<br clear="none">to ensure that there is no concurrent write access to the surface, and<br clear="none">call cairo_surface_mark_dirty() after the drawing from the second<br clear="none">process is finished.<br clear="none"><br clear="none">If you need to do this over a network, you could use the recording<br clear="none">surface and send the serialized data to a different host for replay.<br clear="none"><br clear="none">Regards, Krzysztof<div class="yqt7461258035" id="yqtfd41654"><br clear="none"></div><br><br></div> </blockquote>  </div> </div>   </div> </div></body></html>