Hi Peter,<br><br>What are your 3D view settings? Also, what is the size of your dataset and the geometry you have generated? Fine-tuning client/server performance is a form of art, I am finding out :-) Usually, there are two different extremes when running in client/server mode:
<br><br>1. Large geometry, cannot be rendered by a single node<br>2. Small to medium size geometry, can be rendered by a single node much faster than server<br><br>In the first case, there is no choice. The geometry has to be rendered on the server. Therefore each render has to follow these steps:
<br><br>1. Client tells server to start rendering (*)<br>2. Client sends camera information (*)<br>3. Client starts waiting for progress<br>4. Server starts rendering<br>5. Server sends progress (repeat until rendering is done) (*)
<br>6. Server sends final image to client (*)<br>7. Client renders image<br><br>* Communication over TCP/IP<br><br>In this situation, the potential bottlenecks are<br>1. All the communication over TCP/IP<br>2. Rendering performance of the server
<br><br>If the server is not equipped with a decent graphics card, it may render much more slowly than client. Sometimes, there is no alternative because the geometry is too large to render on the client.<br><br>Solutions:
<br><br>To reduce client/server communication, reduce the size of the image that is sent to client either through compression or size reduction. In 3D view settings, adjust:<br>* Subsample rate (size reduction)<br>* Squirt compression
<br><br>Note that these settings only impact the interactive rendering. The final render after you release the mouse will not be impacted.<br><br>In the second case, you have to tell ParaView that you want client to do the rendering instead of the server. This is done by adjusting the composite threshold on the 3D view settings page. The threshold is the size of all geometry in MBytes. If the size of geometry is above the thresold, the geometry is rendered on the server and delivered to the client. If below, the geometry itself is delivered to the client and is rendered locally. It is also possible to disable compositing alltogether. If ParaView detects that the server cannot render (no DISPLAY set for example), it will disable compositing automatically (as of
2.4.3, I believe).<br><br>Potential bottlenecks:<br>1. Geometry is too large and client cannot render geometry fast<br>2. Geometry has to be delivered to client everytime filter(s) re-execute, this usually happens only after Accepting
<br>3. An existing bug causes ParaView to tell the server to start sending progress during each render. This is a no-op but still cause TCP/IP communication. This is only relevant if the client/server connection is slow<br>
<br>There is also a hybrid mode. ParaView can use a reduced geometry model during interaction. This is controlled by the LOD threshold and LOD resolution on the 3D view settings. It is possible to adjust the 3D view settings such that the LOD is small enough to be rendered locally and the full geometry is rendered on the server. Using this, you can get the best of both worlds (in theory).
<br><br>We have plans to make ParaView smarter and make some choices for the user based on the frame rates.<br><br>On top of all of the above, there are bottlenecks arising from the fact that everytime a parameter changes, it has to be sent from client to server over TCP/IP. If a response is requested, event handling is disabled until it arrives. This causes some choppiness of the GUI.
<br><br>Without knowing exactly what you mean by leses responsive, this is all I can say (which is a lot, I guess) :-)<br><br>-Berk<br><br><br><br><br><div><span class="gmail_quote">On 6/30/06, <b class="gmail_sendername">
Peter J. Bismuti</b> <<a href="mailto:pjb9508@vashon.ca.boeing.com">pjb9508@vashon.ca.boeing.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have a small dataset that I'm inspecting using client-server mode. However,<br>it seems far less responsive than when I was running it in a single process.<br>Am I doing something incorrect?<br><br>Thanks<br><br><br>-bash-3.00$
bin/pvserver<br>Listen on port: 11111<br>Waiting for client...<br>connected to port 11111<br>Client connected.<br><br>-bash-3.00$ pvclient -sh=skagit<br>Connect to skagit:11111<br><br><br>_______________________________________________
<br>ParaView mailing list<br><a href="mailto:ParaView@paraview.org">ParaView@paraview.org</a><br><a href="http://www.paraview.org/mailman/listinfo/paraview">http://www.paraview.org/mailman/listinfo/paraview</a><br></blockquote>
</div><br>