EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: o.c.swt.widgets: Improve intensity graph drawing performance by using pixel lookup table.
From: "Szalata, Zenon M." <[email protected]>
To: "J. Lewis Muir" <[email protected]>, EPICS Tech-Talk <[email protected]>
Date: Sun, 19 Sep 2010 21:31:47 -0700
Hi Lewis,
Sorry, the dialog on this topic was going on for a few days between myself, Kay, and Xihui.  Finally, I decided to include the rest of the EPICS community, without realizing that for most readers the continuity would not be there.

The error is OutOfMemoryError.  I am starting CSS with -Xmx512M, and it is possible that specifying 1024M for the maximum VM heap space would improve the performance.  I have also tried -Xmx750M without seeing a significant improvement.  But you see, I am rather conservative and am trying to make a statement that it is rather absurd for a program to need one or even one half of a GByte of memory to display images 4 Mbytes in size.  The memory usage should be rate independent, at least to first approximation.  The rate should only affect the CPU usage.  Anyway, that is all I was trying to convey.

Thanks,
Zen

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of J. Lewis Muir
Sent: Sunday, September 19, 2010 2:00 PM
To: EPICS Tech-Talk
Subject: Re: o.c.swt.widgets: Improve intensity graph drawing performance by using pixel lookup table.

On 9/17/10 11:57 PM, Szalata, Zenon M. wrote:
> Hi Kay,
> In spite of your elaborate argument, quite convincing at that, I am
> not convinced that there is no problem.  It may be that all is working
> as designed, but then it was designed poorly.  Whether it is java ,
> eclipse, or CSS that is falling short, I can't tell.
> I am not convinced that I should not expect to display a 4 MB image at
> 6 or 7 Hz rate on a machine with 3 GB of physical memory without
> generating errors.  This is actually a bit absurd.  Image size is not
> likely to get smaller.  It would be nice if a 4 MB image could stay 4
> MB until it is painted.  On Windows XP, I can display these images at
> 30+ Hz using the software provided by the camera maker.
> Anyway, presently the image rate is limited by the Ethernet adapter
> not being setup for jumbo frames.  These cameras will be used to
> monitor images along the beam line at 10 or 30 Hz when the hardware
> and software goes into production.  Presently I am testing these
> cameras in 8 bit Mono but they are capable of 16 bit color, so the
> volume of data will increase.  I understand that 8 bit or 16 bit is
> all the same for java.
> I see that edm video widget outperforms CSS/BOY intensity graph and I
> hate to think that I should disqualify CSS/BOY due to poor
> performance.

Hi, Zen.

Your email doesn't include what the error messages were, so it's hard to
diagnose.

Did you try Kate's suggestion of increasing the amount of memory
available to your Java virtual machine?  For a Java application running
in a Sun (now Oracle) Java VM, you can specify the maximum heap size
with the -Xmx option to the Java VM when you start it.  For example, to
execute a class named ImageViewer with the maximum VM heap size set to 1 GB:

  java -Xmx1024m ImageViewer

I don't know how CSS BOY is started, but I would expect you could
specify options passed to the Java VM somewhere.

If there's no bug in CSS BOY related to this, and if increasing the
maximum heap size doesn't help, then perhaps the Java VM is still
running out of heap space.  If so, then it might be that CSS BOY needs
an optimization for this case.  For example, rather than creating
objects representing images and forgetting them, waiting for the garbage
collector to reclaim them in the future, one could keep a pool of image
objects and reuse them.  But this is all speculation since I haven't
looked at the code and don't know what's actually happening.

Lewis

-- 
J. Lewis Muir
Software Engineer
IMCA-CAT


References:
RE: o.c.swt.widgets: Improve intensity graph drawing performance by using pixel lookup table. Szalata, Zenon M.
Re: o.c.swt.widgets: Improve intensity graph drawing performance by using pixel lookup table. J. Lewis Muir

Navigate by Date:
Prev: RE: Configuring an IOC to -not- build for host arch Angus Gratton
Next: RE: Configuring an IOC to -not- build for host arch Angus Gratton
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: o.c.swt.widgets: Improve intensity graph drawing performance by using pixel lookup table. J. Lewis Muir
Next: Re: o.c.swt.widgets: Improve intensity graph drawing performance by using pixel lookup table. Kasemir, Kay
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  <20102011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 20 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·