nanogui: Overloading the nano-X server
Re: [nanogui] Overloading the nano-X server
Luca Santini ####@####.####
10 Nov 2009 08:08:52 -0000
if you don't really need a client/server arch you can try cutting off a lot o socket traffic compiling with LINK_APP_INTO_SERVER. On my hardware (arm or sh) this leads to general performance improvement. You'll have not more need to run the nano-x server.
Steven Vahl ha scritto:
> I have a situation where a scientific instrument is capable of generating a new dataset as fast as every 10 milliseconds (although not always that fast), and my Nano-X code has to create an XY plot (graph) of the data and display it on a 320 x 240 display. I do not need to display every dataset the instrument generates (i.e. it is OK if some of the datasets are "dropped"), but I want the system to display as many as it can, up to the limitations of the processor and display hardware.
> Currently, the way my code works is my Nano-X client uses the dataset from the instrument to calculate one GR_POINT for each pixel along the x-axis of the plot window. Then I call the "GrPoly" function, passing in that array of GR_POINTs, to "connect the dots" and create the plot on the screen.
> This method works great until I set the instrument to the faster speeds. Then the Nano-X client starts sending the server "GrPoly" commands faster than the server can process them and the display can display them. The Nano-X server starts to fall behind, the "GrPoly" commands start stacking up in the queue, and the system becomes unresponsive because the nano-X server is working so hard and the client rarely is getting any time to run. (If I use the "GrPoints" function instead of "GrPoly", the system can keep up much better, but the plots don't look good enough.)
> I am relatively new to Nano-X development, so I am hoping someone can help me with a solution to this.
> * Is there a way for the client to find out somehow if the server is still working on a previous GrPoly command? If so, then the client could just "drop" any datasets that come in until the server and display had completed the one they were working on, preventing the server from becoming overloaded.
> * Is there some other approach I could use to plot the data that would be faster?
> Thanks for any ideas or suggestions.
> Steven Vahl
> NOTICE: This message (with any attachments) is confidential and may constitute privileged communication, and is intended only for the recipient(s) named herein. If you are not the intended recipient, or a person responsible for delivering this message to the intended recipient, you are hereby notified that any distribution, copying or dissemination of the information herein is strictly prohibited. If you have received this e-mail in error, please contact us immediately by telephone, facsimile, or email, and delete this e-mail from your computer system without retaining a copy.
//Elettronica di Sistema//
Via Lamberto Corsi, 43
60044 Fabriano (AN)
tel. +39 0732 25291 diretto 0732 25451
fax +39 0732 2529441