<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1479" name=GENERATOR>
<STYLE>@font-face {
        font-family: Wingdings;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
OL {
        MARGIN-BOTTOM: 0in
}
UL {
        MARGIN-BOTTOM: 0in
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Firstly, if you follow convention, the&nbsp;process 
that displays the rendered images is called the client, and the other processes 
are the servers.&nbsp; This is because the client asks a server to do some work 
for it, no matter the relative number of processes.&nbsp; Really, your client 
(the renderer with work it needs done) should connect to multiple servers... not 
the other way around.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Question: do you really mean 650 kilobits per 
frame, or do you mean kilobytes?&nbsp; 512*384*4 = 768KB.&nbsp; While it's not 
impossible to compress that to&nbsp;650Kb&nbsp;(about 83KB), using something 
like JPEG,&nbsp;it would probably take quite a lot of time to do that 
compression.&nbsp; There's a big difference.&nbsp; After doing some calculation, 
I think you could only achieve about 20fps on a 100Mbps ethernet with 650KB 
frames.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Tim</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=jacco.bikker@overloaded.com 
  href="mailto:jacco.bikker@overloaded.com">Jacco Bikker</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=enet-discuss@cubik.org 
  href="mailto:enet-discuss@cubik.org">enet-discuss@cubik.org</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, February 02, 2005 2:44 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> [ENet-discuss] Large data 
  packets over ENet</DIV>
  <DIV><BR></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Hello,<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I am writing a ray tracer that 
  renders at interactive frame rates on a single machine (2Ghz, 5fps). To 
  advance to realtime performance, I am trying to use several computers to 
  render the image. I tried using winsock/UDP, but I lack the knowledge to 
  properly implement this, and the result was disappointing for anything above 2 
  clients.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">So I tried Enet. Implementation 
  was a breeze, but performance is somewhat disappointing. Perhaps I am doing 
  something wrong, so let me explain what I do:<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal 
  style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><![if !supportLists]><FONT 
  face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN 
  style="mso-list: Ignore">-<FONT face="Times New Roman" size=1><SPAN 
  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The server accepts incoming 
  clients.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal 
  style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><![if !supportLists]><FONT 
  face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN 
  style="mso-list: Ignore">-<FONT face="Times New Roman" size=1><SPAN 
  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Once at least one client is 
  available, the server sends a ‘go’ packet to each client. This packet contains 
  information about which lines the client should 
  render.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal 
  style="MARGIN-LEFT: 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"><![if !supportLists]><FONT 
  face=Arial size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><SPAN 
  style="mso-list: Ignore">-<FONT face="Times New Roman" size=1><SPAN 
  style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  </SPAN></FONT></SPAN></SPAN></FONT><![endif]><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The client receives this 
  information, starts rendering, and returns the result to the 
  server.<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The maximum amount of returned 
  pixel data is 512x384 pixels (32bit). This is about 650Kb per frame. Using 
  Enet, performance is significantly better (but still disappointing) if I 
  compress the data. Does Enet have problems with large data streams? Is there a 
  way to optimize this?<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">- 
  Jacco.<o:p></o:p></SPAN></FONT></P></DIV>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>ENet-discuss mailing 
  list<BR>ENet-discuss@cubik.org<BR>http://lists.cubik.org/mailman/listinfo/enet-discuss<BR></BLOCKQUOTE></BODY></HTML>