Performance issues using JavaFX on different notebooks

Hello,
unfortunately i feel forced to ask a question about performance issues. As far as i understood, most of the problems with JavaFX 2.0 that are discussed here or somewhere else seem to have there roots in a huge count of nodes and/or some kind of animations. In opposition to this I'm writing a business application for the desktop with JavaFX as a Swing-replacement. There are no permanent animations at all and the scene has all in all 200 nodes(measured it with ScenicView) yet. I use no WebView-Nodes.
The application runs very well on my development computer with 16 GB of RAM, a Intel Corei7 2600K processor and a mid-class AMD grafics device. Also, there are no performance issues on a Core i3 Notebook. As soon as i start the application on my Thinkpad X220 with Core i7-2620M CPU, 8 GB RAM and Intel HD graphics it get's almost unusable. For example, there is a diagramm(see attached screenshot), which is situated in a scrollpane. As soon as i try to pan it, the panning extremely slow(i'd say 2-4 fps). Another example is that hovering buttons is not very responsive. Moving the mouse over a button causes the hover effect 0.3-0.5 seconds after it entered the button. Fading transitions that i use at some places are not smooth as well.
I made sure that the app is running using a hardware renderer on each computer. Also, i tried to force a fallback to the software renderer using the "-Dprism.order=j2d" switch but it only performed worse.
So my first question is: Are there known issues with mobile processors/graphic devices of the mentioned type?

I just tested it with Java 8 ea build 61 and beside the fact that a small amount of css didn't work anymore, it runs very well with this version of Java(/FX). Damn...i hope that some of this performance fixes will be backported to some Java 7 update.

Similar Messages

  • Help with Video Performance Issues using Flash

    Asking on behalf of a customer who has been unable to get any answers so far - are you able to help?
    Background:
    We have a port of our Game Development Kit which allows us to recompile all our games using Crossbridge (http://adobe-flash.github.io/crossbridge/) into SWF without any code modifications.
    Overview:
    Our framework is using OpenGL for rendering and we have successfully ported it along with the audio and video to run in Flash.
    We are experiencing performance issues using Video. We cannot use image sequence as some of the video animations are too long and would increase the download to an unacceptable size.  Assets vary between 256x256 - 1024x1024 videos.

    Here's the rest of the story.  Let me know if you can see any resolution, and I will connect him to the forums.  Thank you.
    Current Video Solution:
    We create an instance of NetConnection, NetStream, and Video according to most samples out there, and invoke draw to rasterize the Video DisplayObject into a BitmapData instance.
    The BitmapData instance has a fixed color component layout which is not compatible with Stage3D texture and is therefore has to be reformatted before uploaded to Stage3D Texture (See Code Listing below).
    Our Problems:
    Performance issues with RGBA conversion (either using copyChannel or manually reformatting is not fast enough) natively in as3; this required for stage3d texture.Copying each channel individual using bitmapdata.Copychannel seems faster, but not significantly faster.
    Cannot detect when video frame has been updated, therefore we may copy pixels that are not needed in enterframe (processpixel).
    Looping video, our current solution uses the NET_STATUS event Buffer empty; Is there a better way to loop videos than checking buffer and seeking to 0.
    Stepping video, loading FLV or MP4 side by side assets from HTTP or embedded does not support stepping? Is there another way?
    ActionScript Code Listing:
    video_nc = new NetConnection();
    video_nc.addEventListener(NetStatusEvent.NET_STATUS , onConnect);
    video_nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR , trace);
    video_nc.connect(null);
    // OnConnect Event:
    this.ns = new NetStream(e.target as NetConnection);
    eventclient = new Object();
    eventclient.onMetaData = onMetaData;
    this.ns.client = eventclient;
    ns.play(flvfile);
    ns.pause();
    //onMetaData event:
    this.width = infoObject.width;
    this.height = infoObject.height;
    this.textureWidth = NextPowerOfTwo(this.width);
    this.textureHeight = NextPowerOfTwo(this.height);
    cliprect = new Rectangle(0, 0, this.width ,this.height);
    cliprect.x = 0;
    cliprect.y = 0;
    cliprect.width = this.textureWidth;
    cliprect.height = this.textureHeight;
    totalFrames = infoObject.duration * infoObject.fps;
    this.hasAlpha = true;
    if(infoObject.videocodecid == 5)
    this.hasAlpha = true;
    this.bitmapData = new BitmapData(this.textureWidth, this.textureHeight, hasAlpha, 0xff000000);
    this.video = new Video(this.width, this.height);
    this.video.attachNetStream(ns);
    this.video.addEventListener(Event.ENTER_FRAME, processPixels);
    // processPixel method:
    BitmapData.draw(video);
    GLAPI.instance.glBindTexture(GLAPI.GL_TEXTURE_2D,this.textureId);
    var fmt:uint = GLAPI.GL_ARGB;
    // converting pixels using copychannel or loop through pixels
    GLAPI.instance.glBindTexture(GLAPI.GL_TEXTURE_2D,this.textureId);
    GLAPI.instance.glTexImage2D(GLAPI.GL_TEXTURE_2D, 0, fmt, this.textureWidth, this.textureHeight, 0,fmt, GLAPI.GL_UNSIGNED_BYTE, 0, convBitmapData.getPixels(cliprect));

  • SQL Performance issue: Using user defined function with group by

    Hi Everyone,
    im new here and I really could need some help on a weird performance issue. I hope this is the right topic for SQL performance issues.
    Well ok, i create a function for converting a date from timezone GMT to a specified timzeone.
    CREATE OR REPLACE FUNCTION I3S_REP_1.fnc_user_rep_date_to_local (date_in IN date, tz_name_in IN VARCHAR2) RETURN date
    IS
    tz_name VARCHAR2(100);
    date_out date;
    BEGIN
    SELECT
    to_date(to_char(cast(from_tz(cast( date_in AS TIMESTAMP),'GMT')AT
    TIME ZONE (tz_name_in) AS DATE),'dd-mm-yyyy hh24:mi:ss'),'dd-mm-yyyy hh24:mi:ss')
    INTO date_out
    FROM dual;
    RETURN date_out;
    END fnc_user_rep_date_to_local;The following statement is just an example, the real statement is much more complex. So I select some date values from a table and aggregate a little.
    select
    stp_end_stamp,
    count(*) noi
    from step
    where
    stp_end_stamp
    BETWEEN
    to_date('23-05-2009 00:00:00','dd-mm-yyyy hh24:mi:ss')      
    AND
    to_date('23-07-2009 00:00:00','dd-mm-yyyy hh24:mi:ss')
    group by
    stp_end_stampThis statement selects ~70000 rows and needs ~ 70ms
    If i use the function it selects the same number of rows ;-) and takes ~ 4 sec ...
    select
    fnc_user_rep_date_to_local(stp_end_stamp,'Europe/Berlin'),
    count(*) noi
    from step
    where
    stp_end_stamp
    BETWEEN
    to_date('23-05-2009 00:00:00','dd-mm-yyyy hh24:mi:ss')      
    AND
    to_date('23-07-2009 00:00:00','dd-mm-yyyy hh24:mi:ss')
    group by
    fnc_user_rep_date_to_local(stp_end_stamp,'Europe/Berlin')I understand that the DB has to execute the function for each row.
    But if I execute the following statement, it takes only ~90ms ...
    select
    fnc_user_rep_date_to_gmt(stp_end_stamp,'Europe/Berlin','ny21654'),
    noi
    from
    select
    stp_end_stamp,
    count(*) noi
    from step
    where
    stp_end_stamp
    BETWEEN
    to_date('23-05-2009 00:00:00','dd-mm-yyyy hh24:mi:ss')      
    AND
    to_date('23-07-2009 00:00:00','dd-mm-yyyy hh24:mi:ss')
    group by
    stp_end_stamp
    )The execution plan for all three statements is EXACTLY the same!!!
    Usually i would say, that I use the third statement and the world is in order. BUT I'm working on a BI project with a tool called Business Objects and it generates SQL, so my hands are bound and I can't make this tool to generate the SQL as a subselect.
    My questions are:
    Why is the second statement sooo much slower than the third?
    and
    Howcan I force the optimizer to do whatever he is doing to make the third statement so fast?
    I would really appreciate some help on this really weird issue.
    Thanks in advance,
    Andi

    Hi,
    The execution plan for all three statements is EXACTLY the same!!!Not exactly. Plans are the same - true. They uses slightly different approach to call function. See:
    drop table t cascade constraints purge;
    create table t as select mod(rownum,10) id, cast('x' as char(500)) pad from dual connect by level <= 10000;
    exec dbms_stats.gather_table_stats(user, 't');
    create or replace function test_fnc(p_int number) return number is
    begin
        return trunc(p_int);
    end;
    explain plan for select id from t group by id;
    select * from table(dbms_xplan.display(null,null,'advanced'));
    explain plan for select test_fnc(id) from t group by test_fnc(id);
    select * from table(dbms_xplan.display(null,null,'advanced'));
    explain plan for select test_fnc(id) from (select id from t group by id);
    select * from table(dbms_xplan.display(null,null,'advanced'));Output:
    PLAN_TABLE_OUTPUT
    Plan hash value: 47235625
    | Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |      |    10 |    30 |   162   (3)| 00:00:02 |
    |   1 |  HASH GROUP BY     |      |    10 |    30 |   162   (3)| 00:00:02 |
    |   2 |   TABLE ACCESS FULL| T    | 10000 | 30000 |   159   (1)| 00:00:02 |
    Query Block Name / Object Alias (identified by operation id):
       1 - SEL$1
       2 - SEL$1 / T@SEL$1
    Outline Data
      /*+
          BEGIN_OUTLINE_DATA
          FULL(@"SEL$1" "T"@"SEL$1")
          OUTLINE_LEAF(@"SEL$1")
          ALL_ROWS
          OPTIMIZER_FEATURES_ENABLE('10.2.0.4')
          IGNORE_OPTIM_EMBEDDED_HINTS
          END_OUTLINE_DATA
    Column Projection Information (identified by operation id):
       1 - (#keys=1) "ID"[NUMBER,22]
       2 - "ID"[NUMBER,22]
    34 rows selected.
    SQL>
    Explained.
    SQL>
    PLAN_TABLE_OUTPUT
    Plan hash value: 47235625
    | Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |      |    10 |    30 |   162   (3)| 00:00:02 |
    |   1 |  HASH GROUP BY     |      |    10 |    30 |   162   (3)| 00:00:02 |
    |   2 |   TABLE ACCESS FULL| T    | 10000 | 30000 |   159   (1)| 00:00:02 |
    Query Block Name / Object Alias (identified by operation id):
       1 - SEL$1
       2 - SEL$1 / T@SEL$1
    Outline Data
      /*+
          BEGIN_OUTLINE_DATA
          FULL(@"SEL$1" "T"@"SEL$1")
          OUTLINE_LEAF(@"SEL$1")
          ALL_ROWS
          OPTIMIZER_FEATURES_ENABLE('10.2.0.4')
          IGNORE_OPTIM_EMBEDDED_HINTS
          END_OUTLINE_DATA
    Column Projection Information (identified by operation id):
       1 - (#keys=1) "TEST_FNC"("ID")[22]
       2 - "ID"[NUMBER,22]
    34 rows selected.
    SQL>
    Explained.
    SQL> select * from table(dbms_xplan.display(null,null,'advanced'));
    PLAN_TABLE_OUTPUT
    Plan hash value: 47235625
    | Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT   |      |    10 |    30 |   162   (3)| 00:00:02 |
    |   1 |  HASH GROUP BY     |      |    10 |    30 |   162   (3)| 00:00:02 |
    |   2 |   TABLE ACCESS FULL| T    | 10000 | 30000 |   159   (1)| 00:00:02 |
    Query Block Name / Object Alias (identified by operation id):
       1 - SEL$F5BB74E1
       2 - SEL$F5BB74E1 / T@SEL$2
    Outline Data
      /*+
          BEGIN_OUTLINE_DATA
          FULL(@"SEL$F5BB74E1" "T"@"SEL$2")
          OUTLINE(@"SEL$2")
          OUTLINE(@"SEL$1")
          MERGE(@"SEL$2")
          OUTLINE_LEAF(@"SEL$F5BB74E1")
          ALL_ROWS
          OPTIMIZER_FEATURES_ENABLE('10.2.0.4')
          IGNORE_OPTIM_EMBEDDED_HINTS
          END_OUTLINE_DATA
    Column Projection Information (identified by operation id):
       1 - (#keys=1) "ID"[NUMBER,22]
       2 - "ID"[NUMBER,22]
    37 rows selected.

  • Performance issue using webelements and crystal

    We have 2 reports named, u201CDAMAGE_REPORTSu201D AND u201CTDI_CHARTu201D
    DAMAGE_REPORTS
    There are 13 dynamic or static Prompts created using Webelements .After clicking on submit button(using
    webelement)  by selecting the prompt values, TDI_CHART report will get opened below the u201CDAMAGE_REPORTSu201D report.
    TDI_CHART
    TDI_CHART created using free-hand SQL which contains 2 commands
            1. Command-SQL is created based on two categories.
                  Trend -Trend By Month ,Trend By Quarter,Trend By Week
                   Non-Trend- Current Month ,Current Year to Date,Last Year to Date,Current Quarter,Last
                                 Quarter,Current Week,Last Week,Last Month,Last Year Total
                 Charts,Cross-tabs and table information is coming from this Query
           2.Image count-contains number of images information based on the prompt selection and it acts as a 
                  URL(opendocument) in the report to open TDI_THUMBNAIL report to display the thumbnail images.
    Report information
    TDI_CHART Report contains 8 charts,4 cross-tabs, summary information showing in table format(Detail
           section) and2 open document links(1.For image count 2.Export to excel(which shows the detail information
            of summary table)
    Description
    If the selection is Non-Trend Value from the Time period parameter , corresponding Chart will be shown along   with table information.(Table information is only required for Non-Trend Values).
    If the Selection is Trend Value from the Time period parameter,the corresponding cross tab and chart will be shown and others will get suppressed.
    Problem Area
    After the prompt selection from u201CDamage_Reportsu201D, TDI_CHART report is taking around 1min 30 sec to show the chart and table or cross-tab.
    In Database when we execute the above queries, it comes in 12 secs but whereas in reports it takes 1min 30 sec,can you guide us some steps to bring down this time?

    hello Mufiza,
    copy the url created at the step "After the prompt selection from u201CDamage_Reports".
    paste this url into a new browser window and press enter.
    what is the time to return this report?...this time should also be 1.5 minutes.
    it sounds like you are using 2 commands in the same report. this will often cause performance issues, just like linking two stored procedures together or linking two disparate datasources together.
    this would not be an issue related to webelements but related to the design of your target report.
    jw

  • Performance issues using multiple CC design programs?

    Hey! I'm Gwidz, and I'm having some performance issues with my adobe programs. I primarily use Photoshop, InDesign and Illustrator for design work. I find that when I have any two of them open, I experience delays in clicking and dragging using my pen tablet, and laggy zooming in/scrolling. This issue disappears when I only have one program open.
    I just bought this laptop to use these programs. Here's the specs:
    Operating system: Windows 8 64 bit
    Processor: 4th gen intel i7 4700HQ
    Ram: 16gb DDR3
    Graphics: NVIDIA GeForce GTX 770M 3GB GDDR5
    Cost me 2000 bucks on amazon, and I'm pretty disappointed in how things are going right now. I definitely don't think it could be a hardware issue, could it?
    I'm using an SSD as my scratch disc, and using the 64 bit versions of all programs that have it. Nothing else running in the background except these programs, and yet still I experience poor performance.
    Admitedly, I'm new to windows 8, and I'm learning everything that I can about it in hopes of resolving this issue.
    If anyone has any advice, any and all is greatly aprpeciated!

    I'm seeing this exact same choppiness and VERY slow response times with the same low use of CPU and memory... WITH JUST ONE APP OPEN!  Illustrator.
    Macbook Retina Pro, 15 inch.
    I've tried with the GPU forced off, and forced on, and on autoswitching.
    I've tried clean reinstalls.  And reboots. Etc.
    This is not hardware related.  It's something utterly flawed with the way Illustrator (and InDesign) draw do things.  They are just grotesquely inefficient.
    The fact that the program/app makes no effort to use more CPU/GPU to speed up responsiveness to the user input is the real indicator of how poorly optimised this code is. 
    After Effects is better.  But it's adaptive degradation STUTTERS grotesquely, and it's actually better to try to turn that off.  Although I'm having a hard time trying to figure out how to turn that off at the moment.. forgotten where I previously found that switch.
    Photoshop is also better. 
    I'm also talking about small files. Nothing in them.  Just start drawing... Stutters... atrocious frame rates for the update of the screen and very poor response rates to input.
    This is 64 bit optimised?  I don't think so.

  • Heavy performance issues using Adobe Interactive Form PDFs generated by SAP BPM

    Dear experts,
    we use Adobe Interactive Form PDFs (generated with LiveCycle Designer) as Human Tasks within SAP BPM processes. The PDFs are generated and transmitted correctly, but when they are opened at the receivers PC, Windows freezes for 2-3 minutes, then the PDF opens and can be filled out and sent back. The next PDFs can be opened much faster, but when the PC is restarted, we get the same problem again. We use Adobe Reader XI (11.0.2) on our clients; is their any know performance issue?
    Please note, that we have this problem with EVERY Adobe Interactive Form PDF... I created a simple PDF containing just a field and the client PC still freezes. So it can't be in the form or the scripting. Normal static PDFs can be opend without any problems.
    Best regards,
    David

    They haven't really announced it, because there is no product to announce. Rather the opposite.
    There are no conversion tools, so far as I know.
    XFA forms are a non-starter if you want portability.
    AcroForms are a nightmare in themselves, because the functionality is limited in Adobe Reader and varies between absent and weird in other products. No idea about Blackberry support.
    You will not find a simple recommendation. Rather, you need to use Acroforms and carefully test everything (EVERYTHING: no assumptions) on every platform you intend to support.
    Yes, rather unsatisfactory, but until Adobe realise that the future is platform equivalence or irrelevance, this is where we are.

  • Performance issue using WDPortalUtils.getService

    Hi,
    I have an application with multiple componnets inside a main component.
    If i perform ADD using ADD component it is not getting refreshing in the front end but it is getting refreshing in the back end.
    But if i refresh the application data is getting refreshed in the front end too
    I am refreshing my application for every  operation with the given code
    Willl it give any performance issue
    if(WDPortalUtils.isRunningInPortal()){
                      IWDPageService iWDPortalService=(IWDPageService)WDPortalUtils.getService(WDPortalServiceType.PAGE_SERVICE);
                      iWDPortalService.restartApplication();
    Regards
    Padma

    Anup,
    What will happen behind the screens when application restarts.
    what are the otherways of achieving the same Behavior,like getting the application state to initial state.

  • Performance issue using WebView and OpenLayers

    Hi Team,
    i am running javafx 2.2 from jdk7u21.
    openlayers version used is 2.12
    when i am trying to add a huge number of vectors to a vector layer, the CPU usage goes high and nothing gets displayed.
    Most of the CPU usage is done by com.sun.javafx.sg.prism.NGWebView.update()
    it works well till around 4K vectors, but goes for a toss beyond that.
    OpenLayers Code is as follows.
    vector layer Definition
    ==============
    var vector1= new OpenLayers.Layer.Vector("Drivers",{
    styleMap: new OpenLayers.StyleMap({
    "default": new OpenLayers.Style(OpenLayers.Util.applyDefaults({
    pointRadius: 3,
    fillColor : "blue",
    graphicName : "circle",
    fillOpacity : 1
    }, OpenLayers.Feature.Vector.style["default"])),
    "select": new OpenLayers.Style({
    externalGraphic: "${select_externalGraphic}"
    vector1.events.on({
    "featureselected": function(e) {
    //TODO: on Selection
    app.printOnConsole("From Vector Event>>"+e.feature.attributes.name);
    app.printOnConsole("From Vector Event"+Object.toJSON(e.feature.attributes));
    "featureunselected": function(e) {
    //TODO: on Deslect:
    Adding the vector code
    ===============
    var mymarker = new OpenLayers.Feature.Vector(
    new OpenLayers.Geometry.Point(LON,LAT),{
    default_externalGraphic: 'triangle_8.png',
    select_externalGraphic: 'triangle_8.png',
    rat : jsonObj.rat
    mylayer.addFeatures([mymarker]);
    Please suggest if there is a way i can fine tune my code to display the vectors.

    If running under a windows make sure you use a 32 bit java runtime (64 bit java runtimes on windows do not have a JavaScript jit compiler and are many times slower).
    Try java 8, it has many performance improvements.
    https://jdk8.java.net/download.html
    Use code tags
    https://forums.oracle.com/forums/ann.jspa?annID=1622

  • Performance issue with SQL with different input data

    Hi Experts,
    I have an SQL query that uses three tables imtermination, imconnection, imconnectiondesign. Each of these tables have around 23Lakh, 11Lakh, 11Lakh rows respectively. There are appropriate indexes on these tables.
    Now there is a query:
    SELECT
    /*+ NO_MERGE(a) ORDERED USE_NL(c) */ c.objectid,
    c.typeid,
    c.transactionstatus,
    c.usersessionid,
    cd.objectid designid,
    c.reservationid,
    c.networkid,
    c.networktype,
    cd.inprojectid,
    cd.inprojecttype,
    cd.outprojectid,
    cd.outprojecttype,
    cd.asiteid,
    cd.asitetype,
    cd.anetworkelementid,
    cd.anetworkelementtype,
    cd.aportid,
    cd.aporttype,
    cd.achannelpath,
    c.asignaltype,
    cd.zsiteid,
    cd.zsitetype,
    cd.znetworkelementid,
    cd.znetworkelementtype,
    cd.zportid,
    cd.zporttype,
    cd.zchannelpath,
    c.zsignaltype,
    c.signaltype,
    c.visualkey,
    c.resourcestate,
    cd.assignmentstate,
    c.effectivefrom,
    cd.effectiveto,
    c.channelized,
    c.circuitusage,
    c.hardwired,
    c.consumedsignaltype,
    c.flowqualitycode,
    c.capacityused,
    c.percentused,
    c.maxcapacity,
    c.warningthreshold,
    c.typecode,
    cd.lastupdateddate,
    c.lastreconcileddate,
    c.bandwidth,
    c.unit
    FROM
    (SELECT terminatedid
    FROM imtermination t1
    WHERE t1.networkelementid = 9200150)
    a,
    imconnectiondesign cd,
    imconnection c
    WHERE cd.objectid = a.terminatedid
    AND c.objectid = cd.connectionid
    AND(SUBSTR('10000000000000000000011111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', c.consumedsignaltype + 1, 1) = '1' OR SUBSTR('10000000000000000000011111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000', c.signaltype + 1, 1) = '1')
    AND c.typeid = '$131'
    AND cd.assignmentstate IN(2, 3)
    The above query takes around 70 secs to execute when input t1.networkelementid = 9200150. Moreover i have observed in the enterprise manager that this has very high i/o wait time.
    Now the same query takes around 5 secs to execute when the input t1.networkelementid = 42407448. Both these obejcts with id 9200150 and 42407448 have almost same number of rows and output and without any condition each have 6500 rows in all the three tables.
    The execution plan for both these queries with t1.networkelementid = 9200150 and t1.networkelementid = 42407448 is also coming same.
    The rows that are corresponding to t1.networkelementid = 9200150 in these three tables are the result of the data created through the application over a period of time. While in case of rows corresponding to t1.networkelementid = 42407448 i have created manually and are contiguous in the three tables.
    Does the above behavior is because in case of t1.networkelementid = 42407448 the rows that corresponds to it are not contiguous as they are created over a period of time ?
    Execution Statistics
    Total     Per Execution     Per Row
    Executions     1     1     0.02
    CPU Time (sec)     0.91     0.91     0.02
    Buffer Gets     11943     11943.00     238.86
    Disk Reads     4804     4804.00     96.08
    Direct Writes     0     0.00     0.00
    Rows     50     50.00     1
    Fetches     5     5.00     0.10
              User I/O Waits(98.7%)          
                   CPU(1.3%)
    Enterprise manager shows high db file scattered read in case of t1.networkelementid = 9200150, the input for which it is taking 70 secs.
    Request experts to provide some pointers to fix this issue as i am not an expert in db tuning.
    Thanks in advance for your help.
    Regards

    Hi David,
    Please find below the output:
    SQL> SELECT table_name, num_rows, last_analyzed
      2    FROM all_tables
      3   WHERE table_name IN ('IMTERMINATION', 'IMCONNECTIONDESIGN', 'IMCONNECTION')
      4  /
    TABLE_NAME                       NUM_ROWS LAST_ANAL
    IMTERMINATION                     2338746 19-SEP-11
    IMCONNECTIONDESIGN                1129298 19-SEP-11
    IMCONNECTION                      1169373 19-SEP-11
    IMTERMINATION                       19852 13-SEP-11
    IMCONNECTIONDESIGN                   6820 13-SEP-11
    IMCONNECTION                         9926 13-SEP-11
    6 rows selected.
    SQL> SELECT table_name, index_name,num_rows, last_analyzed
      2    FROM all_indexes
      3   WHERE table_name IN ('IMTERMINATION', 'IMCONNECTIONDESIGN', 'IMCONNECTION')
      4  order by table_name,index_name
      5  /
    TABLE_NAME                     INDEX_NAME                       NUM_ROWS LAST_ANAL
    IMCONNECTION                   IMCONNECTION_A_NE                    9925 13-SEP-11
    IMCONNECTION                   IMCONNECTION_A_NE                 1169154 19-SEP-11
    IMCONNECTION                   IMCONNECTION_A_PORT                 84743 19-SEP-11
    IMCONNECTION                   IMCONNECTION_A_PORT                  3371 13-SEP-11
    IMCONNECTION                   IMCONNECTION_A_SITE               1169373 19-SEP-11
    IMCONNECTION                   IMCONNECTION_A_SITE                  9926 13-SEP-11
    IMCONNECTION                   IMCONNECTION_NET                        0 19-SEP-11
    IMCONNECTION                   IMCONNECTION_NET                       12 13-SEP-11
    IMCONNECTION                   IMCONNECTION_PK                      9926 13-SEP-11
    IMCONNECTION                   IMCONNECTION_PK                   1169373 19-SEP-11
    IMCONNECTION                   IMCONNECTION_RES                        0 13-SEP-11
    IMCONNECTION                   IMCONNECTION_RES                        0 19-SEP-11
    IMCONNECTION                   IMCONNECTION_ST                         2 13-SEP-11
    IMCONNECTION                   IMCONNECTION_ST                        60 19-SEP-11
    IMCONNECTION                   IMCONNECTION_TYPEID                     4 13-SEP-11
    IMCONNECTION                   IMCONNECTION_TYPEID                    64 19-SEP-11
    IMCONNECTION                   IMCONNECTION_UR                     26880 19-SEP-11
    IMCONNECTION                   IMCONNECTION_UR                         3 13-SEP-11
    IMCONNECTION                   IMCONNECTION_VK                      9810 13-SEP-11
    IMCONNECTION                   IMCONNECTION_VK                   1191866 19-SEP-11
    IMCONNECTION                   IMCONNECTION_Z_NE                 1169173 19-SEP-11
    IMCONNECTION                   IMCONNECTION_Z_NE                    9925 13-SEP-11
    IMCONNECTION                   IMCONNECTION_Z_PORT                 84092 19-SEP-11
    IMCONNECTION                   IMCONNECTION_Z_PORT                  3370 13-SEP-11
    IMCONNECTION                   IMCONNECTION_Z_SITE                  9926 13-SEP-11
    IMCONNECTION                   IMCONNECTION_Z_SITE               1169373 19-SEP-11
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_CON            1129298 19-SEP-11
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_CON               6820 13-SEP-11
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_PK             1129298 19-SEP-11
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_PK                6820 13-SEP-11
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_ST                6820 13-SEP-11
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_ST             1129298 19-SEP-11
    IMTERMINATION                  IMTERMINATION_ID                    19852 13-SEP-11
    IMTERMINATION                  IMTERMINATION_ID                  2279477 19-SEP-11
    IMTERMINATION                  IMTERMINATION_NE                    19850 13-SEP-11
    IMTERMINATION                  IMTERMINATION_NE                  2327175 19-SEP-11
    IMTERMINATION                  IMTERMINATION_PORT                 168835 19-SEP-11
    IMTERMINATION                  IMTERMINATION_PORT                   6741 13-SEP-11
    IMTERMINATION                  IMTERMINATION_SITE                  19852 13-SEP-11
    IMTERMINATION                  IMTERMINATION_SITE                2391415 19-SEP-11
    40 rows selected.
    SQL> select table_name,index_name,column_name,column_position
      2    FROM all_ind_columns
      3   WHERE table_name IN ('IMTERMINATION', 'IMCONNECTIONDESIGN', 'IMCONNECTION')
      4  order by table_name,index_name, column_position
      5  /
    TABLE_NAME                     INDEX_NAME
    COLUMN_NAME
    COLUMN_POSITION
    IMCONNECTION                   IMCONNECTION_A_NE
    ANETWORKELEMENTID
                  1
    IMCONNECTION                   IMCONNECTION_A_NE
    ANETWORKELEMENTID
                  1
    IMCONNECTION                   IMCONNECTION_A_PORT
    APORTID
                  1
    IMCONNECTION                   IMCONNECTION_A_PORT
    APORTID
                  1
    IMCONNECTION                   IMCONNECTION_A_SITE
    ASITEID
                  1
    IMCONNECTION                   IMCONNECTION_A_SITE
    ASITEID
                  1
    IMCONNECTION                   IMCONNECTION_NET
    NETWORKID
                  1
    IMCONNECTION                   IMCONNECTION_NET
    NETWORKID
                  1
    IMCONNECTION                   IMCONNECTION_PK
    OBJECTID
                  1
    IMCONNECTION                   IMCONNECTION_PK
    OBJECTID
                  1
    IMCONNECTION                   IMCONNECTION_RES
    RESERVATIONID
                  1
    IMCONNECTION                   IMCONNECTION_RES
    RESERVATIONID
                  1
    IMCONNECTION                   IMCONNECTION_ST
    RESOURCESTATE
                  1
    IMCONNECTION                   IMCONNECTION_ST
    RESOURCESTATE
                  1
    IMCONNECTION                   IMCONNECTION_TYPEID
    TYPEID
                  1
    IMCONNECTION                   IMCONNECTION_TYPEID
    TYPEID
                  1
    IMCONNECTION                   IMCONNECTION_UR
    USERSESSIONID
                  1
    IMCONNECTION                   IMCONNECTION_UR
    USERSESSIONID
                  1
    IMCONNECTION                   IMCONNECTION_VK
    VISUALKEY
                  1
    IMCONNECTION                   IMCONNECTION_VK
    VISUALKEY
                  1
    IMCONNECTION                   IMCONNECTION_Z_NE
    ZNETWORKELEMENTID
                  1
    IMCONNECTION                   IMCONNECTION_Z_NE
    ZNETWORKELEMENTID
                  1
    IMCONNECTION                   IMCONNECTION_Z_PORT
    ZPORTID
                  1
    IMCONNECTION                   IMCONNECTION_Z_PORT
    ZPORTID
                  1
    IMCONNECTION                   IMCONNECTION_Z_SITE
    ZSITEID
                  1
    IMCONNECTION                   IMCONNECTION_Z_SITE
    ZSITEID
                  1
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_CON
    CONNECTIONID
                  1
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_CON
    CONNECTIONID
                  1
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_PK
    OBJECTID
                  1
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_PK
    OBJECTID
                  1
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_ST
    ASSIGNMENTSTATE
                  1
    IMCONNECTIONDESIGN             IMCONNECTIONDESIGN_ST
    ASSIGNMENTSTATE
                  1
    IMTERMINATION                  IMTERMINATION_ID
    TERMINATEDID
                  1
    IMTERMINATION                  IMTERMINATION_ID
    TERMINATEDID
                  1
    IMTERMINATION                  IMTERMINATION_NE
    NETWORKELEMENTID
                  1
    IMTERMINATION                  IMTERMINATION_NE
    NETWORKELEMENTID
                  1
    IMTERMINATION                  IMTERMINATION_PORT
    PORTID
                  1
    IMTERMINATION                  IMTERMINATION_PORT
    PORTID
                  1
    IMTERMINATION                  IMTERMINATION_SITE
    SITEID
                  1
    IMTERMINATION                  IMTERMINATION_SITE
    SITEID
                  1
    40 rows selected.
    Plan without sql hints:
    SQL> select * from table(dbms_xplan.display)
      2  /
    PLAN_TABLE_OUTPUT
    Plan hash value: 2493901029
    | Id  | Operation                     | Name                  | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT              |                       |    40 |  9960 |  6316   (1)| 00:01:16 |
    |   1 |  NESTED LOOPS                 |                       |    40 |  9960 |  6316   (1)| 00:01:16 |
    |   2 |   NESTED LOOPS                |                       |  1359 |   160K|  3592   (1)| 00:00:44 |
    |   3 |    TABLE ACCESS BY INDEX ROWID| IMTERMINATION         |  1359 | 16308 |   915   (1)| 00:00:11 |
    |*  4 |     INDEX RANGE SCAN          | IMTERMINATION_NE      |  1359 |       |     6   (0)| 00:00:01 |
    |*  5 |    TABLE ACCESS BY INDEX ROWID| IMCONNECTIONDESIGN    |     1 |   109 |     2   (0)| 00:00:01 |
    |*  6 |     INDEX UNIQUE SCAN         | IMCONNECTIONDESIGN_PK |     1 |       |     1   (0)| 00:00:01 |
    |*  7 |   TABLE ACCESS BY INDEX ROWID | IMCONNECTION          |     1 |   128 |     2   (0)| 00:00:01 |
    |*  8 |    INDEX UNIQUE SCAN          | IMCONNECTION_PK       |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       4 - access("T1"."NETWORKELEMENTID"=9200150)
       5 - filter("CD"."ASSIGNMENTSTATE"=2 OR "CD"."ASSIGNMENTSTATE"=3)
       6 - access("CD"."OBJECTID"="TERMINATEDID")
       7 - filter((("C"."CONSUMEDSIGNALTYPE"=21 OR "C"."CONSUMEDSIGNALTYPE"=22 OR
                  "C"."CONSUMEDSIGNALTYPE"=23 OR "C"."CONSUMEDSIGNALTYPE"=24 OR "C"."CONSUMEDSIGNALTYPE"=25 OR
                  "C"."CONSUMEDSIGNALTYPE"=26 OR "C"."CONSUMEDSIGNALTYPE"=27 OR "C"."CONSUMEDSIGNALTYPE"=28 OR
                  "C"."CONSUMEDSIGNALTYPE"=29 OR "C"."CONSUMEDSIGNALTYPE"=30 OR "C"."CONSUMEDSIGNALTYPE"=31 OR
                  "C"."CONSUMEDSIGNALTYPE"=32 OR "C"."CONSUMEDSIGNALTYPE"=33) OR ("C"."SIGNALTYPE"=21 OR
                  "C"."SIGNALTYPE"=22 OR "C"."SIGNALTYPE"=23 OR "C"."SIGNALTYPE"=24 OR "C"."SIGNALTYPE"=25 OR
                  "C"."SIGNALTYPE"=26 OR "C"."SIGNALTYPE"=27 OR "C"."SIGNALTYPE"=28 OR "C"."SIGNALTYPE"=29 OR
                  "C"."SIGNALTYPE"=30 OR "C"."SIGNALTYPE"=31 OR "C"."SIGNALTYPE"=32 OR "C"."SIGNALTYPE"=33)) AND
                  "C"."TYPEID"='$131')
       8 - access("C"."OBJECTID"="CD"."CONNECTIONID")
    32 rows selected.

  • Workflow Performance Issue (Used with OWB10.2.0.3)

    Hi
    We have a problem which seems consistent among our process flows.
    The process flow contains a fork then runs 3 or 4 mappings routing back to an "AND" activity.
    each mapping completes in a matter of seconds but the duration of the AND activity is consistently around 2mins.
    This in terms of our overall load elapsed times adds an overhead of at least 20-30 mins which is not acceptable really.
    Can anyone shed any light on what the AND is doing in the background and what can be done to speed it up e.g. what might need purging (everything i've seen tends to relate to use with Oracle Apps)?
    Kind Regards
    Mark

    Hi
    I have the log file from the wfstat
    snippet below if you want I could email you the full log but there does not appear to be anything else of note
    **** Activity Statuses
    Begin Date End Date Activity Status RESULT User NID Status Action
    Performer
    13-AUG-08 10:08:37 13-AUG-08 10:10:15 ROOT/SUPERSEDE_QUARANTINED_ITEMS COMPLETE OK
    13-AUG-08 10:08:37 13-AUG-08 10:08:37 SUPERSEDE_QUARANTINED_ITEMS/START1 COMPLETE #NULL
    13-AUG-08 10:08:37 13-AUG-08 10:08:37 SUPERSEDE_QUARANTINED_ITEMS/FORK COMPLETE #NULL
    13-AUG-08 10:08:37 13-AUG-08 10:08:38 SUPERSEDE_QUARANTINED_ITEMS/SUPERSEDE_TRANSFE COMPLETE OK
    R_DETAIL_UI
    13-AUG-08 10:08:37 13-AUG-08 10:08:38 SUPERSEDE_QUARANTINED_ITEMS/SUPERSEDE_TRADE_H COMPLETE OK
    EADER_UI
    13-AUG-08 10:08:37 13-AUG-08 10:08:38 SUPERSEDE_QUARANTINED_ITEMS/SUPERSEDE_TRADE_D COMPLETE OK
    ETAIL_UI
    13-AUG-08 10:08:37 13-AUG-08 10:08:38 SUPERSEDE_QUARANTINED_ITEMS/SUPERSEDE_TRANSFE COMPLETE OK
    R_HEADER_UI
    13-AUG-08 10:08:38 13-AUG-08 10:10:15 SUPERSEDE_QUARANTINED_ITEMS/AND1 COMPLETE OK
    13-AUG-08 10:10:15 13-AUG-08 10:10:15 SUPERSEDE_QUARANTINED_ITEMS/END_SUCCESS COMPLETE #NULL
    9 rows selected.

  • Severe DML Performance Issue using Oracle RLS on 11.2.0.3

    Hi Experts/Gurus,
    We are trying to implement Oracle RLS in one our Corporate Application
    Purpose of using RLS is to convert Single Company Application into Multiple Company Application
    by adding COMPANY_ID Column and Index to make Application Multi-Company.
    Each user would be allowed only to view/edit records from his own Company
    RLS function we defined is very simple and static.
    When we did some DML Tests using 8 parallel sessions, find DML Performance is
    severely degraded (response time is twice our existing Application without RLS)
    Top 5 Timed Foreground Events
    Event Waits Time(s) Avg wait (ms) % DB time Wait Class
    db file sequential read 1,312,910 6,197 5 43.08 User I/O DB CPU 2,976 20.69
    library cache: mutex X 80,808 1,139 14 7.91 Concurrency
    WCR: replay lock order 1,705 1,107 649 7.69 Application
    gc current grant 2-way 309,886 550 2 3.83 Cluster
    Would like to know why we encounter library cache: mutex X
    Checked Mutex Sleep Summary section of AWR and it has following:
    Mutex Sleep Summary
    ordered by number of sleeps desc
    Mutex Type Location Sleeps Wait Time (ms)
    Library Cache kglpin1 4 26,849 0
    Library Cache kglpnal2 91 25,230 0
    Library Cache kglpndl1 95 21,382 0
    Library Cache kglpnal1 90 12,823 0
    Cursor Pin kksfbc [KKSCHLFSP2] 5,196 0
    Would like to know how to interpret
    each of the Library Cache entries such as kglpin1 4.
    What does the keyword after Libary Cache (starting with kglpin mean)
    Thanks in advance

    Welcome to the forum!
    Please see the FAQ #3 at the top of the thread list for how to post a tuning request and the information you need to provide
    SQL and PL/SQL FAQ
    >
    We are trying to implement Oracle RLS in one our Corporate Application
    Purpose of using RLS is to convert Single Company Application into Multiple Company Application
    by adding COMPANY_ID Column and Index to make Application Multi-Company.
    Each user would be allowed only to view/edit records from his own Company
    RLS function we defined is very simple and static.
    When we did some DML Tests using 8 parallel sessions, find DML Performance is
    severely degraded (response time is twice our existing Application without RLS)
    What does the keyword after Libary Cache (starting with kglpin mean)
    >
    The short answer is that those are pinned objects in the library cache.
    The short question is why you are focusing on trivia instead of collecting, and posting, information that might shed some light on your problem?
    Read the FAQ thread above and post the information needed.
    Your RLS function may be 'very simple and static' but we can't see it. And we can't comment on what we can't see.
    We also can't see:
    1. your table or index DDL
    2. the query you are using that you say is non-performant
    3. any data about statistics and whether they are current
    4. any data about row counts for the table, the (unknown) query predicates, the expected result set
    5. any data about the query predicates
    6. any execution plans for the query from the standard table and from the current table
    7. any info about the RLS security you are using and how you implemented and configured it.

  • Performance issues using control references in Analog control loop?

    My main vi of a tensile tester control application calls a number of sub-vi's, including a analog control loop which controls the test. The control loop must update some boolean and digital indicators and respond to user input on the front panel of the main vi during a test.
    To simplify my main vi, I moved the control loop code into a sub-vi, and used control references to access the controls and indicators on the front panel. However, this has dramatically affected my loop performance, and the loop can no longer keep up with the acquisition speed.
    Do control references always cause such a slowdown? Is there anything that I can do besides moving the code back into the main vi?
    Thank You,
    David Creech

    I have had the same problem. I have discovered other funny things about references also; some kind of memory management (or mismamagement?) is taking place behind the scenes.
    Regardless, you can often do away with the references by passing the initial state of a control or indicator into the subvi, changing it inside, and passing the altered state back to the caller. Once back in the caller you update the front panel control or indicator by using a local variable.
    One thing to watch out for if using this scenario is the dreaded race condition; this can be avoided using a state machine. Check out
    http://www.advmeas.com/goodies/statemachine.html
    for a good example. It is a shame that references behave in this way; it limits thier usefulness.
    Perhaps someo
    ne else will point out a way to utilize them more sucessfully?

  • Performance issue using Native SQL

    Hi
        I am getting the data from Oracle database using Native SQL in ABAP. I am facing performance problem when i am using Native SQL to get data from Oracle database.Its been very slow and getting timed out.
    This is the code i am using for this.
    EXEC SQL PERFORMING BUILD_TAB.
    Get the territory id
        SELECT TERR_ID
          FROM DWPROD.VW_ARDETAIL_PRD1@DWP
          INTO :IT_TERR-TERR_ID
               :DG_TERR_ID
         WHERE COMPANY     = :dt_output-bukrs
           AND PAY_ADDR_ID = :dt_output-kunnr
           AND DOC_NO      = :dt_output-belnr
           AND DOC_ITEM_NO = :dt_output-buzei
      ENDEXEC.
      IF sy-dbcnt >= 1.
        READ TABLE it_terr INDEX 1.
        dg_terr_id = it_terr-terr_id.
        EXEC SQL.
    Get the Saled rep id, name
          SELECT MR_USER_ID,
                 MR_NAME
            FROM DWPROD.VW_TERR@DWP
            INTO :dt_output-srep_id,
                 :dt_output-srep_name
           WHERE TERR_ID = :DG_TERR_ID
        ENDEXEC.
    *Get sales manager id and sales manager name
        EXEC SQL.
          SELECT SALES_GRP_ID
            FROM DWPROD.VW_TERRRPT@DWP
            INTO :DG_SGRPID
           WHERE TERR_ID = :DG_TERR_ID
        ENDEXEC.
        IF sy-dbcnt >= 1.
          EXEC SQL.
            SELECT MGR_USER_ID,
                   MGR_NAME
              FROM DWPROD.VW_SGRP@DWP
              INTO :dt_output-sman_id,
                   :dt_output-sman_name
             WHERE SALES_GRP_ID = :DG_SGRPID
          ENDEXEC.
        ENDIF.
      ENDIF.
    Can any one suggest a solution to improve the performance.
    Thnaks
    Vianney

    Hi John!
    Looks like you need just one entry out of the tables, but you select 'into table'.
    Try to add a 'up to 1 rows' restriction, then Oracle will be much faster with the execution.
    To get an idea, who this parameter looks like in native SQL for Oracle, write a simple test program with an open SQL statement (including this parameter / select single) and run a SQL-trace (ST05). Here you can see in 'explain' how native translation looks like, can also maintain some small tests with 'enter SQL statement'.
    Regards,
    Christian

  • Performance issue with JavaFX code

    Hi, I'm experienced in Java, but not in JavaFX. I wrote simple LIFE cellular automata, it has two options: randomize cells, and take a step forward in simulation. My problem is that following simulation steps are slower and slower. NetBeans profiler suggests that if I take more steps in simulation then get method's self time (get$impl$$bound$int__int method exactly) is getting slower in time -- at first it takes about 0.054 (270/5000) ms per call, but later the average jumps to 0.55 (12709/23000) ms per call. I don't really know how bind mechanism works, could this be a bind issue? Maybe I create many unneccessary objects? Here's the code:
    import java.lang.Math;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.paint.Color;
    import javafx.scene.Scene;
    import javafx.scene.shape.Rectangle;
    import javafx.stage.Stage;
    import javafx.ext.swing.SwingButton;
    import java.lang.System;
    var tab : CellTable = CellTable {
         width: 10
         height: 10
    def rects =
    for (i in [0..tab.width-1]) {
         for (j in [0..tab.height-1]) {
              Rectangle {
                   x: 20 * i + 1
                   y: 20 * j + 1
                   width: 17
                   height: 17
                   stroke: Color.RED
                   fill: bind if (tab.get(i, j)) Color.RED else Color.WHITE;
    def stage = Stage {
         title: "LIFE"
         resizable: false
         scene: Scene {
              width: 200
              height: 250
              content: [
                   rects,
                   SwingButton {
                        text: "random!"
                        translateX: 0
                        translateY: 210
                        width: 100
                        action: function() {
                             tab.random();
                   SwingButton {
                        text: "next>"
                        translateX: 100
                        translateY: 210
                        width: 100
                        action: function() {
                             tab.next();
    class CellTable {
         postinit {
              for (i in [0..width-1]) {
                   for (j in [0..height-1]) {
                        insert false into cells;
                        insert false into tmp;
              xrange = [0..width-1];
              yrange = [0..height-1];
         var cells : Boolean[];
         var tmp : Boolean[];
         var width : Integer;
         var height : Integer;
         var xrange : Integer[];
         var yrange : Integer[];
         function random() {
              for (x in [0..width-1]) {
                   for (y in [0..height-1]) {
                        set(x, y, Math.random() < 0.5);
         function next() {
              for (x in xrange) {
                   for (y in yrange) {
                        var ct = 0;
                        for (xx in [-1..1]) {
                             for (yy in [-1..1]) {
                                  if (get((x + width + xx) mod width, (y + height + yy) mod height)) {
                                       ++ct;
                        if (get(x,y)) {
                             --ct;
                             tmp[idx(x,y)] = (ct == 2 or ct == 3);
                        } else {
                             tmp[idx(x,y)] = (ct == 3);
              for (x in xrange) {
                   for (y in yrange) {
                        set(x, y, tmp[idx(x, y)]);
         function idx(x : Integer, y : Integer) : Integer {
              return x * height + y;
         bound function get(x : Integer, y : Integer) : Boolean {
              return cells[idx(x,y)];
         function set(x : Integer, y : Integer, b : Boolean) {
              cells[idx(x,y)] = b;
    }I would be very grateful if anyone could tell me what could be the issue or at least what should I check to figure it out.

    I tried to solve your problem.
    First, I eliminated the keyword 'bound' from the function in CellTable class. Then I rewrite the value of 'fill' attribute in the Rectangle as below :
    fill: bind if (tab.cells[tab.idx(i, j)]) Color.RED else Color.WHITE;As a result, I found your code ran faster than before. But I don't know why it became so.
    Could it be that the 'bound function' creates some new Boolean instances every time it was called ???
    Sorry, I can not help you.
    I hope anyone would tell me why the 'bound function' made the code slower.

  • Performance issue using Universe with SNC connection

    I had a dynamic dashboard using Live office > Webi report > Universe > Bex query which was working fine but we recently implemented SNC between Business Objects and SAP BW due to which the universe connection has been changed to use sign on connection. After changing the connection in the universe I am see a performance degradation refreshing the connections in xelsius dashboard. Earlier the connection refresh time was 6 sec now the refresh time is around 30 secs, Intersting thing is I have tryed refreshing the webi report the refresh time of the webi report did not change which is still less than 6 secs and I have also tryed refeshing the Live Office component directly in the design/spreedsheet mode of the xcelsius even here the refresh time remain same less than 6 secs.
    The connection refresh time is bad only when I am in preview mode or if I deploy the swf to the business object server.
    Xcelsius Version: 2008 (5.3)
    BO Version: 3.1 sp2 fixpack 2.8
    Thanks

    Anup,
    What will happen behind the screens when application restarts.
    what are the otherways of achieving the same Behavior,like getting the application state to initial state.

Maybe you are looking for

  • What does this console error mean?

    I just got my 13" non-retina MacBook Pro back from the Apple Genius bar since the cable that connected my hard drive was failing. Before I brought it in, it suddenly went from an OK speed to a something is wrong speed. But before I took it in on Mond

  • Nforce2 Audio hardware accelration

    hello this is my nforce driver version 6.14.431.1 why do programs say i have no hardware acceleration? thanks

  • Global Event Listeners for all Views in a ViewNavigatorApplication

    Hello, As the subject states, I have a ViewNavigatorApplication and I am trying to set up a "global" event listener for all views. Which I am able to do, however I am having problems... In my first view, I assign this listener: NativeApplication.nati

  • Nokia PC Suite Installation - names not displayed ...

    Senders' names were not displayed when i installed in vista. However, it was ok when i installed in another pc running xp. advice appreciated. thanks.

  • BI SUITE - Business Explorer Documentation

    Hi everybody, I need to know, if anybody knows some place where I would find documentation about Business Explorer in Spanish. Thanks in advanced for your response.