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
<2010>
2011
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
<2010>
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|