Reducing JavaFX's memory footprint via a CustomNode alternative

Its great to see the beginnings of a new and useful primary node in the JFX world, a missing piece has arrived. The existing CustomNode is good for many tasks however, for graphics involving many details it can be a real memory hog. It is also not suited for some types of immediate rendering tasks. Information about this new node is available at the following JavaWorld blog.
http://www.javaworld.com/community/?q=node/2754
Its easy to see the potential usage of the new node, you can create and setup only one instance, and then rubberstamp elaborate and complex graphics without needing to instantiate and persist hundreds and possibly more heavyweight CustomNode instances. To make the new node paint differently just send it a new set of paint instructions, how could it get any easier! All the while the new node can be rotated, scaled and translated like any other JFX node.
What are your thoughts about this innovative new node?
Thom

Its great to see the beginnings of a new and useful primary node in the JFX world, a missing piece has arrived. The existing CustomNode is good for many tasks however, for graphics involving many details it can be a real memory hog. It is also not suited for some types of immediate rendering tasks. Information about this new node is available at the following JavaWorld blog.
http://www.javaworld.com/community/?q=node/2754
Its easy to see the potential usage of the new node, you can create and setup only one instance, and then rubberstamp elaborate and complex graphics without needing to instantiate and persist hundreds and possibly more heavyweight CustomNode instances. To make the new node paint differently just send it a new set of paint instructions, how could it get any easier! All the while the new node can be rotated, scaled and translated like any other JFX node.
What are your thoughts about this innovative new node?
Thom

Similar Messages

  • How to reduce memory footprint

    Hello, while I observed that Audition always loads whole audio document into memory, I'm having quite a problem when processing long multichannel audio files as the whole physical memory gets utilized instantly I'm getting exhaustive disk swapping. This is especially awkward for long operations. I'm having a question if there's a way to reduce the memory footprint, ie. to Audition loads into memory just the file part that it's just working with, or to turn off undo. I assume the rapid memory usage is caused by collecting undo data also, whose I don't need in most cases.

    You can use the Clear History button in the History page to clear all undo data or selectively clear individual steps from History.

  • Reduce SQLDeveloper memory footprint with JDK 1.7

    Hi!
    Some time ago in another thread (Re: Memory problems with Oracle sql developer there was a suggestion to try the new Garbage-First Garbage Collector. which should be production in JDK 1.7.
    I use SQLDeveloper with JDK 1.7 on 64bit Linux with good results:
    - everything feels faster, snappier
    - fonts rendering is different, but it is OK
    - the bugs noted in other threads are not a showstopper for me (the connections pane not showing up on startup, not being able to scroll more than 1 OCI array size of records in results grid)
    In the above mentioned thread there is a suggestion that the new garbage collector should improve memory footprint of SQLDeveloper, however, this is not my experience, since it behaves pretty much the same as with JDK 1.6 (resident size between 700 and 900 MB).
    Do I need to use these opotions (as per reffering thread) to enable the new garbage collector (see below) or is it switched on by default in JDK 1.7? The reduced memory footprint would be very welcomed, because I use Oracle Warehouse Builder at the same time (also a java app) and there is always much pressure on memory.
    AddVMOption -XX:+UnlockExperimentalVMOptions
    AddVMOption -XX:+UseG1GC
    AddVMOption -XX:+G1YoungGenSize=25m
    AddVMOption -XX:+G1ParallelRSetUpdatingEnabled
    AddVMOption -XX:+G1ParallelRSetScanningEnabled
    Thanx
    Aleksander

    Hi Aleksander,
    Glad to hear of your good report on Java 7's HotSpot VM regarding performance -- it has various enhancements, of which the new garbage collector is just one. In terms of interpreting memory footprints, take a look at:
    http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#generation_sizing
    Note the diagram indicates total heap size does not include the permanent generation memory. Xmx limits the heap size (the young and tenured generation). MaxPermSize limits class and method metadata plus static variable content. (Apparently starting back in Java 5 there are even some cases where the permanent generation space can be shared by multiple VM instances to improve start-up time and reduce memory usage.) These two limits control distinct, non-overlapping areas of memory.
    When monitoring a Java application's heap consumption with a profiling tool, I doubt the reported usage will exceed the Xmx limit by much. Monitoring with Windows Task Manager, however, can be a bit misleading. I have read several critiques in years past on how Task Manager reports program memory consumption. "Mem Usage" is actually the working set size. "VM Size" is program private memory rather than the true virtual size. And who knows how it tracks the Java VM's permanent generation size. Will it depend on whether it is shared or not?
    So I cannot really recommend any additional parameters to you. Just trust in the Xmx setting and hope that SQL Developer keeps any memory leaks to a minimum.
    Hope this helps,
    Gary

  • Reducing JVM memory footprint

    I want to deploy what may turn out to be a JavaSpaces application on some Windows PC clients. These clients will receive event notifications from a central server and then pop up a GUI for the user to respond to. These clients may be memory-limited and am worried about deploying a J2SE runtime purely for this application and eating up 30+Mb of RAM.
    J2ME runtime seemed like it offered hope as regards reducing memory footprint but doesn't really seem aimed at a standard PC.
    Does anyone have any advice as to which direction I should go in as regards JRE ?
    Gary Roussak

    I haven't checked into it thoroughly, but I've heard repeatedly that 1.4 has a smaller ram footprint. It is still in beta, so that may not be the way you want to go, but you still may want to look into it.
    m

  • Reducing JRE memory footprint

    I want to deploy what may turn out to be a JavaSpaces application on some Windows PC clients. These clients will receive event notifications from a central server and then pop up a GUI for the user to respond to. These clients may be memory-limited and am worried about deploying a J2SE runtime purely for this application and eating up 30+Mb of RAM.
    J2ME runtime seemed like it offered hope as regards reducing memory footprint but doesn't really seem aimed at a standard PC.
    Does anyone have any advice as to which direction I should go in as regards JRE ?
    Gary Roussak

    Not all of the virtual memory assigned to a process is a problem - you need to look at the amount of memory that is commited (i.e. consumes pages of RAM and/or disk) to the process and not shared with other processes. Furthermore, the working set (the memory that has been recently accessed and needs to be in memory to avoid thrashing) is often much smaller than that.
    You can substantially reduce the private memory needed by the JVM by minimizing the heap size (-Xmx and -Xms parameters) - I've been able to run real programs accessing databases in as little as 2MB of heap.
    Chuck

  • Reducing the memory footprint of our Sybase ASE based SolMan install

    Hello All,
    We are doing a test install of SAP Solution Manager 7.01 on Sybase ASE 15.7.
    Since this is just a test setup, we started off with a lower-than-recommended hardware configuration (4 GB RAM only) due to time constraints and since we were 'assured' that we could do basic testing with this setup.
    While post install performance of SolMan was decent, performance during solman_setup (setting up technical monitoring) has become appalling. We are not able to complete the configuration process at all as the SolMan configuration web application has become very unpredictable and extremely slow.
    The SolMan install is centralized and on a windows 2008 box. Windows task manager shows consistent memory usage of up to 90 - 95%. We also tried reducing the total number of work processes to just 8 but that did not help much. We see in 'task manager > resource monitor' that sqlserver.exe process is taking a shareable working set close to 2 GB of RAM whereas the committed memory much less (34 MB). Please tell us about any memory optimization we can perform for SolMan / Sybase ASE in order to complete technical monitoring setup using Solman_setup. We were hoping that we could change the  'total logical memory' setting for the DB directly using DBACOCKPIT tcode (in order to reduce the max memory setting) but could not do so as the it seems to be read-only. We could not find much documentation/posts regarding memory optimization for the DB. Please help out. Thanks!
    -Regards,
    Arvind

    FWIW ... ASE's 'max memory' setting can be changed on the fly, while 'total logical memory' is a calculated value that you cannot change (ie, it's 'read only'; changing 'max memory' will cause 'total logical memory' to change automatically). [NOTE: DBACOCKPIT is a SAP-provided application that sits on top of ASE; while I know what's doable when connected directly to ASE I do not know if DBACOCKPIT has disabled the ability to change some configuration settings like 'max memory'.]
    As for the SolMan performance issues ... I'd recommend reposting your issue in the SAP Applications on ASE discussion group where you're likely to get the attention of more folks with SAP application (on ASE) experience.  (While someone may jump in here with SolMan suggestions, SolMan is a SAP application and this group isn't really geared towards SAP applications.)

  • Memory footprint question (5.0.28)

    I had a question on individual memory footprint of a tomcat instance
    and increasing the number of instances:
    Is this assumption correct that increasing the number of instances of
    tomcat on a machine and modifying the IIS worker properties to have more
    worker instances in the balanced_worker property will reduce individual
    tomcat memory foot print?
    For example, currently we have one machine has 3 tomcat instances
    running, the IIS worker properties, balanced_worker property points to the 3
    tomcats and each worker lb_factor is 1. Current snapshot of memory
    usage is approx 175MB. If we add more tomcat instance and add them to the
    balanced_worker also, will the memory usage reduce for individual tomcat
    instance; now that the IIS will spread the new requests evenly among
    the tomcats?
    Thanks,
    Rumpa Giri

    hm, I just recognized something
    as I already installed my framework on different systems to try it I suddenly found something that differes from one installation to the other, namely in MySQL.
    As I installed XAMPP, I can easily access MySQL via phpMyAdmin. This software views the current available databases in a dropdown menu on the left site of the screen. Further I got two database including an underscore in their name.
    If I go into the rights tab of phpMyAdmin and go on to change the rights for my specific user (that generally has no rights, except for that one database, I try to connect to) then I can specify detailed rights for different databases.
    If I klick on that specific rights button then the names of my underscore including databases switch from DATABASE_NAME to DATABASE\_NAME (in other words I see a sort of escape sign before the underscore).
    Can this cause a problem? Because the name itself is available as a link to the database, which in case of "\_" including names is broken...
    I didn't see this in any other installation before, but I also just tried to acess the database via this name or via \ (its acsii sign instead).
    puh, its to early here for this sort of things ;)
    hth
    Tom

  • Low Memory Footprint JVM needed, Please suggest.

    Hi guys,
    I want a light weight (low memory footprint) Java Virtual Machine compatible with Java 1.5. It should be open source. Can anybody suggest me please. I've googled and tried to use some JVMs like Kaffe and SableVM. But I want some reliable VM.
    Thanks,
    Dhaval.

    Dhaval.Yoganandi wrote:
    can you flash more light on it ?
    Dhaval.Yoganandi wrote:I'm currently using Sun JVM with Java 1.5 its taking 35-40 MB of RAM and 333 MB in VRAM. I need to make very low. how can I do that ? I've tried many options to start sun JVM but no luck.. Virtual Memory is reduced to 280MB nothing else.. I want it to consume Virtual Ram only 64MB and RAM only 30MB..
    You need to tell us what tool you are using to arrive at those numbers.

  • SQL Developer Memory Footprint

    We're looking at replacing around 200 TOAD licenses with SQL Developer. The only technical concern is the memory footprint, as in many cases it would be run from a terminal server with dozens of people logging on. A VM Size of 150MB seems to be not unusual for SQL Developer, and that all adds up of course.
    Are there any recommendations for reducing the memory footprint, or at least not letting it get much higher than 150? Features that can be turned off by default, versions of JDK, etc?

    Hi,
    The memory consume is quite worrying.
    However change the code into VB / Delphi will lose its availability as Java's write once run anywhere. :-)
    You won't be able to use this tool on Solaris, Linux, and Mac without changing the code and compiler. Thus would be less acceptable.
    I wonder if limiting SQL Dev's initial class load would give impact on memory consume.
    And why it seems that Java's garbage collector didn't do any collecting since the memory gets higher and higher time by time.
    Or maybe the code doesn't allow the object's become collectable?
    I ever get memory reach up to 500MB after doing a canceled Export Wizard for USER.
    But..... memory would never come down.
    Regards,
    Buntoro

  • How to minimize OC4J memory footprint?

    We use Oracle 9iAS R2 on a Windows 2K server with dual Xenons and 2 GB physical RAM as an integration server. There the various developers all have differenct OC4Js set up for testing. Now an Oracle rep once told us that many OC4Js within an iAS instance are no big deal because an OC4J had a memory footprint of about 3 MB RAM.
    That sounded too good to be true. And in our case, is isn't true - an OC4J takes up about 50 MB of RAM right after its start. I tried to minimize the Java heap through the OC4J server attbributes in Oracle Enterprise Manager (like "-Xms16") but that didn't make an ounce of a difference.
    So what's the memory footprint of an OC4J inside an iAS instance? And can I reduce it somehow?

    This must be a marketing gag. Client Swing Apps tend to consume more than 3MB.
    I'm not sure but I guess the iAS is the memory eater. We currently have a test installation on a Solaris machine and the iAS pages up to 3GB when accessing the enterprise manager web site. Have a look into the performance guide and try to switch off all unecessary things. Note that there are to different VM switches: -Xms configures the initial heap size a VM should have (growing is expensive) be whereas -Xmx configures the max size the heap can grow (wheares 64MB is default). Again the documenation says that 2MB is then min (not much availabe for OC4J).
    I've you found it - please tell me! :-)

  • JavaServer memory footprint - 80-100MB

    Hi,
    We are running WLE 5.1 (patch 63) on Solaris 7. Our WLE domain contains a
    combination of Java and C++ servers. We are concerned about the memory
    footprint of the Javaservers. On Solaris, the image size of each
    'JavaServer' ranges from 80MB up to 110MB. We are running up to 20
    Javaservers in each domain so obviously, we are very concerned about this in
    production. Even simpapp uses up to 50MB !
    Are there any good approaches to reduce the footprint of the Java servers
    e.g. Will combining multiple servers into a single VM (using the MODULE
    syntax) help ?
    We have tried the -mX etc. commands on the VM but with little impact or
    success.
    Thanks
    Dermot

    You can find out the address ranges for your young generation, old generation, and permanent generations by running with the -XX:+PrintHeapAtGC flag. That produces output meant for VM developers, but the information is there. You'll get something like Heap after GC invocations=2 (full 1):
    PSYoungGen      total 3584K, used 0K [0xffffffff38000000, 0xffffffff38400000, 0xffffffff78000000)
      eden space 3072K, 0% used [0xffffffff38000000,0xffffffff38000000,0xffffffff38300000)
      from space 512K, 0% used [0xffffffff38300000,0xffffffff38300000,0xffffffff38380000)
      to   space 512K, 0% used [0xffffffff38380000,0xffffffff38380000,0xffffffff38400000)
    PSOldGen        total 8192K, used 134K [0xfffffffeb8000000, 0xfffffffeb8800000, 0xffffffff38000000)
      object space 8192K, 1% used [0xfffffffeb8000000,0xfffffffeb8021a98,0xfffffffeb8800000)
    PSPermGen       total 24576K, used 2415K [0xfffffffe98000000, 0xfffffffe99800000, 0xfffffffeb8000000)
      object space 24576K, 9% used [0xfffffffe98000000,0xfffffffe9825bfd8,0xfffffffe99800000) showing your generations, in order: the permanent generation at [0xfffffffe98000000..0xfffffffeb8000000), the old generation at [0xfffffffeb8000000..0xffffffff38000000), and the young generation at [0xffffffff38000000..0xffffffff78000000). You should be able to match those address ranges up with the output of pmap to explain the pmap output. The collectors we have currently always map the heap as three separate (but adjacent) regions. The order of the generations is different for the different collectors, for obscure internal reasons. The address range shown will be reserved, but won't be committed unless you are using the space.
    That said, I don't know what your mapping is at 0000000100114000 is. Do you have any native libraries that malloc space?

  • I'm on iTunes 11.0.0.63 for Windows. iTunes used to display the total number of songs in my library, along with total playtime and memory footprint, at the bottom of the window. How can I make it display this information like it used to?

    Hello! Thanks in advance for reading my question.
    so, I updated iTunes to 11.0.0.63 on Windows, and the new layout looks nice, but iTunes no longer gives my total song count, memory footprint, and total play-time at the bottom of the window, the way it used to. I just want to know how to get that info back. Thanks so much!

    Ctrl / or View > Show Status Bar should do it.
    Weirdly having turned mine on the menu is not there to hide it again and the shortcut doesn't work.
    tt2

  • Lightroom's large memory footprint

    After massaging many pictures in "develop" mode, the system began to become very slow (like locking up for 30 seconds). I opened process explorer and found LightRoom was consuming 1.8Gig of virtual memory and had a working set of about 1.2Gig. This seems quite excessive for general photo editing. I'm really only performing simple adjustments like color and contrast.
    I closed down Lightroom and restarted it, and it then worked fine again for another 50 or 60 pictures, at which time slowness occurred again, and the memory footprint was up again. Now that I know what to expect, I'm shutting LR down every 30 pictures or so to avoid the excessive memory consumption.
    I suspect there is a memory leak or creep in LR.
    I have a machine with 4Gig of RAM, running Vista Ultimate.

    EricP,
    LR does "accumulated background work" when nothing else is going on, esp if you have the Library set to All Photos. Also it appears that LR is very sensitive to where the pagefile(s) are located and their size. I only can speak to XP Pro though. Vista is a different animal. You might try putting a controlled size [1.5 RAM size for both Min and Max values] on both [or more] HDs you have. Also set the system to keep as much of the Kernel in RAM as possible and set the system to optimize for Applications. Those changes helped me. If they can be accomplished in Vista, they may help also.
    Good luck and keep us informed if you get any fixes working.
    Mel

  • Firefox memory footprint

    greetings,
    i write regarding the memory footprint of the mozilla-firefox package for arch.  i downloaded the gtk2/xft binary of firefox 0.9 from the mozilla website and used it in anticipation of the arch package being released.  previously on my arch box i had used the mozilla-fire* package rather than the mozilla.org binary.  but now i have noticed a discrepency in memory footprint between the two.  'ps v' gives for the arch package and mozilla.org package, respectively:
    <pre>
    1798 pts/1    S      0:04      0    66 37829 23280 18.2 /opt/mozilla-firefox/l
    1979 pts/1    S      0:06      9  9190 27345 19564 15.3 /tmp/firefox/firefox
    </pre>
    both were taken immediately after firefox startup.  this seems to be a pretty significant difference.  it is enough for me to prefer the mozilla.org package on my obsolete box with 128 megs ram, anyway.
    p.s.  i've been using arch for some time now.  i would just like to take this opportunity to thank those who created and maintain arch linux.  it is an enjoyable distribution

    i have mozilla-firefox using mem this way:
    13600 pts/32 S 0:00 0 47 3604 2140 0.2 /opt/gnome/libexec/gconfd-2 11
    13651 pts/32 S+ 0:00 0 577 1666 1096 0.1 /bin/sh /opt/mozilla-firefox/bin/firefox
    13669 pts/32 S+ 0:00 0 577 1702 1108 0.1 /bin/sh /opt/mozilla-firefox/lib/firefox-0.9/run-mozilla.sh /opt
    13674 pts/32 S+ 0:02 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    13675 pts/32 S+ 0:00 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    13676 pts/32 S+ 0:00 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    13678 pts/33 Ss 0:00 0 577 2854 2456 0.3 -bash
    13691 pts/32 S+ 0:00 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    13692 pts/32 S+ 0:00 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    13693 pts/32 S+ 0:00 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    13694 pts/32 S+ 0:00 0 66 49069 27464 3.5 /opt/mozilla-firefox/lib/firefox-0.9/firefox-bin
    and i cannot see any problem with that
    but i found out something strange while running it:
    [damir@Asteraceae /]$ mozilla-firefox
    LoadPlugin: failed to initialize shared library /opt/mozilla-plugins/Blender3DPlugin.so [/opt/mozilla-plugins/Blender3DPlugin.so: undefined symbol: _ZTV16nsQueryInterface]
    libxpt: bad magic header in input file; found 'XPCOM
    TypeLib
    –@', expected 'XPCOMnTypeLibrn32'
    *** loading the extensions datasource
    [damir@Asteraceae /]$
    the blender plugin is broken --- funny enough: i hear the first time that such thing exist, so it would be nice that someone else confirm this ;-)

  • Memory footprint

    hi,
    i have seen lot of mobile database vendors advertise their product's memory footprint. however, have found no corresponding information about oracle lite besides the official "oracle database lite is a small footprint, java enabled....".
    so the million dollar question is...what is the memory footprint of oracle lite 9i and 10g?

    We use pocket PC devices, and the oracle lite foot print itself has not been an issue.
    By default the databases will be created in the following locations
    1) SD or CF card
    2) built in storage (eg: DELL's)
    3) main memory
    Main memory is fastest, but can be more fragile (try dropping an IPAQ), but provided you use a fast SD card like Kingston 45x, the differential is minimal, and the size of the card and relative cost provides a lot of advantages (we tend to go for a minimum of 256 MB which should be plenty for normal applications.

Maybe you are looking for

  • EA1 - Right gutter scroll bar in the Code Editor doesn't work?

    SQL Developer version 4.0.0.12, Windows XP I'm opening package body in Code Editor. In previous version of SQL Dev after pressing CTRL and moving mouse over the right gutter I could see a few lines of the code from mouse pointed position in the sourc

  • Custom css style to region

    what solution can i get to style a region with a custom CSS style? can't I force the HTML region tag (is it a TD, isn't?) to have an ID or a STYLE I choose? (then i can insert an HTML PORTLET to write the CSS style)

  • Java Script erros in webdynpros...

    Hi,   I'm facing problems with webdynpro apps. No server events are working. I'm using IE as the browser. On running the application, I get the initial screen, but there on nothing works. IE reports java script errors like.. "Error: SSR is undefined.

  • Please  help me. I m a beginner in Sql.

    Hi, My database contains below informations. scrip_code scrip_name client_code qty b_s 500100 TISCO 47198      1000 BUY 500100 TISCO 47198 1000 SELL 500101 RELCAPITAL 47198 1000 BUY 500101 RELCAPITAL 47198 1000 SELL 500102 RELIANCE 47198 1000 BUY 500

  • Redeemed itunes gift card... not sure

    Hi, I've just resized in Japan, and I could not access to Japanese iTunes store, so I purchased an iTunes gift card for my first time. (before I moved here I used the credit card to purchase any app). The gift card costs 3000 JPY. Then I changed my a