Animation Performance and Optimization

Hi, and thanks for reading in advance!
I'm struggling with getting "smooth-enough" performance for a simple application I'm writing.  I was hoping someone could give some pointers.  Briefly my proof of concept application creates between 1 and 10 independently moving filled circles over a PNG backdrop.  I'm currently getting a very dissapointing, stuttering animation and unacceptably slow frame rates - I would guess in the 10FPS area.
I removed all Alpha from the fill (originally I did want some alpha)... the only way I get smooth animation is if I totally remove the background PNG (leave white background) and limit the bubbles to 2-3 at a time.  As soon as I introduce a backdrop however even 1 bubble does not animate smoothly.
Basic architecture I am using:
"bubble Class" -- creates an individual "bubble" and manages that bubble's life
the class draws a filled circle shape - then tries to cache it per Adobe Recommendations for GPU acceleration.
my "main" class then addsChild and modifies .x and .y to translate bubble's motion.  I also tried doing translation via matrix transform with no better results.
Excerpt from Bubble Class:
myBubble:Shape = new Shape();  
myBubble.graphics...........
this.addChild(myBubble);
myBubble.cacheAsBitmap = true;
myBubble.cacheAsBitmapMatrix = new Matrix();
Now I am doing 2 movements per bubble.  I'm doing a rock (rotate) using the following transform matrix (which I'm assuming will be accelerated by GPU?)
Further code from Bubble Class
private function rotateAroundCenter (ob:*, angleDegrees) {
var point:Point=new Point(ob.x+ob.width/2, ob.y+ob.height/2);
   var m:Matrix=ob.transform.matrix;
m.tx -= point.x;
    m.ty -= point.y;
    m.rotate (angleDegrees*(Math.PI/180));
    m.tx += point.x;
    m.ty += point.y;
    ob.transform.matrix=m;
And I'm doing a translation in X and Y.   I do this in the root class....ie:
code from Main Class
var thisBubble:Bubble = new Bubble();
addChild(thisBubble);
bubbles.push(thisBubble);
this.addEventListener(Event.ENTER_FRAME, processFrame);
function processFrame(myEvent:Event):void {
   var thisBubble:Bubble = bubbles[0];
   thisBubble.x++;
   thisBubble.y++;
or something like that
Is this too many layers of embed? should I be caching somewhere other than at the Shape level within my Bubble class?  I basically addChild for my shape in the bubble class  and then I addChild bubble instance to my stage.
Any help is appreciated!!!  I am ready to give up on animating with AS3 and resorting to Objective-C (I hate Objective-C)..... so please!!!  what else needs to be done to take advantage of Hardware GPU acceleration?
Cheers,
Tom

Mr 12 - you are the man.  I really appreciate the time you took in writing your reply.  It was indeed helpful.
I did the following (see below the line) and it has improved performance.  I can now get smooth-ish animation but by sacrificing significant frame rate.  I also am somewhat limited to the number of moving parts (7). 
My question to you --- can I cache bitmapData?  right now I am only caching bitmaps...... is that the right thing to do?  reason I ask is when I pop these bubbles I'd like to cycle through a series of bitmap images which I'm now pre-loading at bubble creation into bitmapData variables.  I'm then adding a Bitmap to the stage as child and cycling through each to execute a "pop" animation.  IE 
addChild(myBitmap)
mybitmap.bitmapData = mybitmapData1;  // first frame
mybitmap.bitmapData = mybitmapData9;  // 9th frame of animation etc.
would be nice to be able to pre-cache that BitmapData in the GPU... can that be done?
Here is a list of the changes I made which did improve performance:
1) Changed animation event driver from ENTER_FRAME to TIMER events.   I had to set my timer period as low as 0.15 to get smooth execution.  Anything faster still results in sputtering.  (.15 is really kind of slow and a problem stil....)
2) added myEvent.stopPropagation(); to all event handlers (now I only have 1 such handler for the Timer).
3) removed the "rocking" rotation effect from the Bubble class.
4) removed code which used graphics class to draw the bubbles.  Instead I pre-drew them in Fireworks and imported to flash library.   I am then loading each bitmapData on application launch.  I assign a unique bitmap pointer on bubble creation, cache it, and then pass it to the Bubble class for use and display like this: (bubType is an Array that contains 3 unique bitmapData objects which reference).
Bubble creation routine: (run 1x per bubble at creation):
private function timerBlow(myEvent:TimerEvent):void {
   myEvent.stopPropagation();
  if (bubbles.length < 7) {
      var bubBM:Bitmap = new Bitmap(bubType[randomType]);
      bubBM.cacheAsBitmapMatrix = new Matrix();
      bubBM.cacheAsBitmap = true;
      var thisBubble:drawnBubble = new drawnBubble(bubBM,10,0xFFFFFF,"up");  // my bubble class
      thisBubble.x = 100;
      thisBubble.y = 300;
      addChild(thisBubble);
      bubbles.push(thisBubble);
5) removed variable creation in my old ENTER_FRAME (now TIMER) event handler to move the bubbles as such:
private function processFrame(myEvent:TimerEvent):void {
   myEvent.stopPropagation();
   if (bubbles.length > 0) {
      var numBubbles:uint = bubbles.length;
      for (var i:uint = 0; i < numBubbles; i++) {
         checkBounds(drawnBubble(bubbles[i]));
         drawnBubble(bubbles[i]).x += drawnBubble(bubbles[i]).xVelocity;
         drawnBubble(bubbles[i]).y += drawnBubble(bubbles[i]).yVelocity;
Any other clues that someone has as to how to do this faster or things to try are *very* much appreciated.  
Cheers
Tom

Similar Messages

  • Performance and optimization from R - SQL in Oracle

    Hello,
    I'm assessing the adoption of Oracle R. I've glanced some of the Learning R Series files and forum threads but didn't find the answers I need.
    My questions are:
    1: Given any R source code, how to view the resulting SQL (or maybe PL/SQL) script?
    2. Would "my" optimization of db objects (e.g. creating an index, ALTERing a procedure) disrupt functionality?
    3. Are Vectorize, tapply, lapply, etc fully implemented in Oracle R? I'm guessing the answer will be yes.
    4. Is every line in R submitted to the db, or do any portions run purely in R? This relates to scenarios (if any) where an operation might be more efficient on SQL than on R or viceversa.
    Thank you.

    1. Given any R source code, how to view the resulting SQL (or maybe PL/SQL) script?We do not expose this.
    2. Would "my" optimization of db objects (e.g. creating an index, ALTERing a procedure) disrupt functionality?It will be considered by the query optimizer when building a plan.
    3. Are Vectorize, tapply, lapply, etc fully implemented in Oracle R? I'm guessing the answer will be yes.There is support for some predefined functions. To work with custom functions we have a family of <tt>ore.*Apply</tt> functions.
    4. Is every line in R submitted to the db, or do any portions run purely in R? This relates to scenarios (if any) where an operation might be more efficient on SQL than on R or viceversa.It is a mixed mode. ORE makes the decision. But in general not every line is executed right away. The execution is deferred to the point when the results are requested on the client side.
    Denis

  • Performance analysis and optimization tools

    Hello I am looking for some tools for Performance analysis and optimization for Oracle. For now I looked over Spotlight, Ignite and Embarcadero DB Optimizer. Can you please point out some links or something for comparing such tools?
    What tools do you use?
    Thanks,

    For performance analysis you can use AWR and ASH.
    -- How to analyze AWR/statpack
    http://jonathanlewis.wordpress.com/statspack-examples/
    -- how to take AWR and ASH report
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14211/autostat.htm#PFGRF02601
    http://www.oracle.com/technology/pub/articles/10gdba/week6_10gdba.html
    Regards
    Asif Kabir

  • When will Mozilla address and optimize the performance of Firefox?

    We all (unfortunately) can't deny that Chrome is 'faster' than Firefox while Firefox is way more customizable. I heard that Mozilla will concentrate on the performance of Firefox this year, make everything smooth and load web pages faster. Is that true? Is there really something planned regarding this? Meanwhile I'm switching to Chrome, but I'd be happy if Firefox could also beat Chrome with performance and I'd be able to return back.
    Thank you.

    Hi mike2033, Firefox shouldn't pause or glitch when switching tabs between ordinary HTML pages. They should appear as fast as you can press Ctrl+Tab to move between them. Do you notice any pattern to the problem, whether related to actively streaming media or especially long and complex pages like the Facebook news feed? Pages can set scripts to run when a page is activated (gets the focus) or when you navigate away from it (losing the focus), which could make some pages slow to start up, but it shouldn't be a global phenomenon. If there's a new bug here, it would be nice to get a good description of when it happens.
    If you get in the mood to experiment, you might also test in Firefox's Safe Mode, That's a standard diagnostic tool to bypass interference by extensions (and some custom settings). More info: [[Troubleshoot Firefox issues using Safe Mode]].
    You can restart Firefox in Safe Mode using
    Help > Restart with Add-ons Disabled ''(Flash and other plugins still work)''
    In the dialog, click "Start in Safe Mode" (''not'' Reset)
    Not sure whether you will notice any difference. Maybe an increase in ads will make it slower than it was in normal mode...

  • QUERY PERFORMANCE AND DATA LOADING PERFORMANCE ISSUES

    WHAT ARE  QUERY PERFORMANCE ISSUES WE NEED TO TAKE CARE PLEASE EXPLAIN AND LET ME KNOW T CODES...PLZ URGENT
    WHAT ARE DATALOADING PERFORMANCE ISSUES  WE NEED TO TAKE CARE PLEASE EXPLAIN AND LET ME KNOW T CODES PLZ URGENT
    WILL REWARD FULL POINT S
    REGARDS
    GURU

    BW Back end
    Some Tips -
    1)Identify long-running extraction processes on the source system. Extraction processes are performed by several extraction jobs running on the source system. The run-time of these jobs affects the performance. Use transaction code SM37 — Background Processing Job Management — to analyze the run-times of these jobs. If the run-time of data collection jobs lasts for several hours, schedule these jobs to run more frequently. This way, less data is written into update tables for each run and extraction performance increases.
    2)Identify high run-times for ABAP code, especially for user exits. The quality of any custom ABAP programs used in data extraction affects the extraction performance. Use transaction code SE30 — ABAP/4 Run-time Analysis — and then run the analysis for the transaction code RSA3 — Extractor Checker. The system then records the activities of the extraction program so you can review them to identify time-consuming activities. Eliminate those long-running activities or substitute them with alternative program logic.
    3)Identify expensive SQL statements. If database run-time is high for extraction jobs, use transaction code ST05 — Performance Trace. On this screen, select ALEREMOTE user and then select SQL trace to record the SQL statements. Identify the time-consuming sections from the results. If the data-selection times are high on a particular SQL statement, index the DataSource tables to increase the performance of selection (see no. 6 below). While using ST05, make sure that no other extraction job is running with ALEREMOTE user.
    4)Balance loads by distributing processes onto different servers if possible. If your site uses more than one BW application server, distribute the extraction processes to different servers using transaction code SM59 — Maintain RFC Destination. Load balancing is possible only if the extraction program allows the option
    5)Set optimum parameters for data-packet size. Packet size affects the number of data requests to the database. Set the data-packet size to optimum values for an efficient data-extraction mechanism. To find the optimum value, start with a packet size in the range of 50,000 to 100,000 and gradually increase it. At some point, you will reach the threshold at which increasing packet size further does not provide any performance increase. To set the packet size, use transaction code SBIW — BW IMG Menu — on the source system. To set the data load parameters for flat-file uploads, use transaction code RSCUSTV6 in BW.
    6)Build indexes on DataSource tables based on selection criteria. Indexing DataSource tables improves the extraction performance, because it reduces the read times of those tables.
    7)Execute collection jobs in parallel. Like the Business Content extractors, generic extractors have a number of collection jobs to retrieve relevant data from DataSource tables. Scheduling these collection jobs to run in parallel reduces the total extraction time, and they can be scheduled via transaction code SM37 in the source system.
    8). Break up your data selections for InfoPackages and schedule the portions to run in parallel. This parallel upload mechanism sends different portions of the data to BW at the same time, and as a result the total upload time is reduced. You can schedule InfoPackages in the Administrator Workbench.
    You can upload data from a data target (InfoCube and ODS) to another data target within the BW system. While uploading, you can schedule more than one InfoPackage with different selection options in each one. For example, fiscal year or fiscal year period can be used as selection options. Avoid using parallel uploads for high volumes of data if hardware resources are constrained. Each InfoPacket uses one background process (if scheduled to run in the background) or dialog process (if scheduled to run online) of the application server, and too many processes could overwhelm a slow server.
    9). Building secondary indexes on the tables for the selection fields optimizes these tables for reading, reducing extraction time. If your selection fields are not key fields on the table, primary indexes are not much of a help when accessing data. In this case it is better to create secondary indexes with selection fields on the associated table using ABAP Dictionary to improve better selection performance.
    10)Analyze upload times to the PSA and identify long-running uploads. When you extract the data using PSA method, data is written into PSA tables in the BW system. If your data is on the order of tens of millions, consider partitioning these PSA tables for better performance, but pay attention to the partition sizes. Partitioning PSA tables improves data-load performance because it's faster to insert data into smaller database tables. Partitioning also provides increased performance for maintenance of PSA tables — for example, you can delete a portion of data faster. You can set the size of each partition in the PSA parameters screen, in transaction code SPRO or RSCUSTV6, so that BW creates a new partition automatically when a threshold value is reached.
    11)Debug any routines in the transfer and update rules and eliminate single selects from the routines. Using single selects in custom ABAP routines for selecting data from database tables reduces performance considerably. It is better to use buffers and array operations. When you use buffers or array operations, the system reads data from the database tables and stores it in the memory for manipulation, improving performance. If you do not use buffers or array operations, the whole reading process is performed on the database with many table accesses, and performance deteriorates. Also, extensive use of library transformations in the ABAP code reduces performance; since these transformations are not compiled in advance, they are carried out during run-time.
    12)Before uploading a high volume of transaction data into InfoCubes, activate the number-range buffer for dimension IDs. The number-range buffer is a parameter that identifies the number of sequential dimension IDs stored in the memory. If you increase the number range before high-volume data upload, you reduce the number of reads from the dimension tables and hence increase the upload performance. Do not forget to set the number-range values back to their original values after the upload. Use transaction code SNRO to maintain the number range buffer values for InfoCubes.
    13)Drop the indexes before uploading high-volume data into InfoCubes. Regenerate them after the upload. Indexes on InfoCubes are optimized for reading data from the InfoCubes. If the indexes exist during the upload, BW reads the indexes and tries to insert the records according to the indexes, resulting in poor upload performance. You can automate the dropping and regeneration of the indexes through InfoPackage scheduling. You can drop indexes in the Manage InfoCube screen in the Administrator Workbench.
    14)IDoc (intermediate document) archiving improves the extraction and loading performance and can be applied on both BW and R/3 systems. In addition to IDoc archiving, data archiving is available for InfoCubes and ODS objects.
    Hope it Helps
    Chetan
    @CP..

  • FAQ's, intros and memorable discussions in the Performance and Tuning Forum

    Welcome to the SDN ABAP Performance and Tuning Forum!
    In addition to release dependent information avalaible by:
    - pressing the F1 key on an ABAP statement,
    - or searching for them in transaction ABAPDOCU,
    - using the [SDN ABAP Development Forum Search|https://www.sdn.sap.com/irj/sdn/directforumsearch?threadid=&q=&objid=c42&daterange=all&numresults=15&rankby=10001],
    - the information accessible via the [SDN ABAP Main Wiki|https://wiki.sdn.sap.com/wiki/display/ABAP],
    - the [SAP Service Marketplace|http://service.sap.com] and see [SAP Note 192194|https://service.sap.com/sap/support/notes/192194] for search tips,
    - the 3 part [How to write guru ABAP code series|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f2dac69e-0e01-0010-e2b6-81c1e8e5ce50] ... (use the search to easily find the other 2 documents...)
    ... this "sticky post" lists some threads from the ABAP forums as:
    - An introduction for new members / visitors on topics discussed in threads,
    - An introduction to how the forums are used and the quality expected,
    - A collection of some threads which provided usefull answers to questions which are frequently asked, and,
    - A collection of some memorable threads if you feel like reading some ABAP related material.
    The listed threads will be enhanced from time to time. Please feel welcome to post to [this thread|Suggestions thread for ABAP FAQ sticky; to suggest any additional inclusions.
    Note: When asking a question in the forum, please also provide sufficient information such that the question can be answered usefully, do not repeat interview-type questions, and once closed please indicate which solution was usefull - to help others who search for it.

    ABAP Performance and Tuning
    Read Performance   => Gurus take over the discussion from Guests caught cheating the points-system.
    SELECT INTO TABLE => Initial questions often result in interesting follow-up discussions.
    Inner Joins vs For all Entries. => Including infos about system parameters for performance optimization.
    Inner Join Vs Database view Vs for all entries => Usefull literature recommended by performance guru YukonKid.
    Inner Joins vs For All Entries - performance query => Performance legends unplugged... read the blogs as well.
    The ABAP Runtime Trace (SE30) - Quick and Easy => New tricks in old tools. See other blogs by the same author as well.
    Skip scan used instead of (better?) range scan => Insider information on how index access works.
    DELETE WHERE sample case that i would like to share with you => Experts discussing the deletion of data from internal tables.
    Impact of Order of fields in Secondary  index => Also discussing order of fields in WHERE-clause
    "SELECT SINGLE" vs. "SELECT UP TO 1 ROWS" => Better for performance or semantics?
    into corresponding fields of table VERSUS into table => detailed discussion incl. runtime measurements
    Indexes making program run slower... => Everything you ever wanted to know about Oracle indexes.
    New! Mass reading standard texts (STXH, STXL) => avoiding single calls to READ_TEXT for time-critical processes
    New! Next Generation ABAP Runtime Analysis (SAT) => detailed introduction to the successor of SE30
    New! Points to note when using FOR ALL ENTRIES => detailed blog on the pitfall(s) a developer might face when using FAE
    New! Performance: What is the best way to check if a record exist on a table ? => Hermann's tips on checking existence of a record in a table
    Message was edited by: Oxana Noa Zubarev

  • Need performance and sizing document

    Hi Experts,
      Pls provide me  some materials regarding performance and sizing topic in Input Enabled Queries and planning applications Competency to know abt it .

    BW Query Performance
    Query Executime time ?
    Precalculated Value Set
    BW Performance Tuning Knowledge Center - SAP Developer Network (SDN)
    Business Intelligence Performance Tuning
    performance docs on query
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3f66ba90-0201-0010-ac8d-b61d8fd9abe9
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/cccad390-0201-0010-5093-fd9ec8157802
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/c8c4d794-0501-0010-a693-918a17e663cc
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/064fed90-0201-0010-13ae-b16fa4dab695
    weblog
    Query Creation Checklist
    Query Optimization
    https://www.sdn.sap.com/irj/sdn/directforumsearch?threadid=&q=cube+size&objid=c4&daterange=all&numresults=15
    cube size
    Message was edited by:
            hari kv

  • [svn:fx-trunk] 5028: IGraphicElement interface clean-up and optimizations.

    Revision: 5028
    Author: [email protected]
    Date: 2009-02-20 16:02:17 -0800 (Fri, 20 Feb 2009)
    Log Message:
    IGraphicElement interface clean-up and optimizations.
    Animating a GraphicElement that doesn't share the Group's DO should be now faster and smoother since redrawing it won't redraw the Group anymore.
    1. Group doesn't always clear the first sequence of display objects now
    2. Moved the shared DO logic almost entirely into Group
    3. More granular invalidation for GraphicElements
    QE Notes: Make sure we have test that count the number of display objects for a given set of graphic elements and a group
    Doc Notes:
    Bugs: None
    Reviewer: Glenn, Ryan, Jason
    tests: None
    Modified Paths:
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/core/InvalidatingSprite.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/BitmapGraphic.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElement.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/StrokedElement.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/GraphicElement.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/TextGraphicElement.a s
    flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as
    Added Paths:
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/ISharedDisplayObject.as
    flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/baseClasses/ISharedGraphicsDispl ayObject.as

  • Nice to see 13" retina but it has only Intel HD Graphics 4000 and does not have NVIDIA GeForce GT 650M with 1GB of GDDR5 memory card. How it will affect the speed, performance and other things compared to 15" retina where NVIDIA GeForce card is available.

    Nice to see 13" retina but it has only Intel HD Graphics 4000 and does not have NVIDIA GeForce GT 650M with 1GB of GDDR5 memory card. How it will affect the speed, performance and other things compared to 15" retina where NVIDIA GeForce card is available.

    The 15" Retina's will have better performance than any 13" Retina. Not only do the 15" machines have dedicated GPU's, but they also have quad-core processors, whereas the 13" Retina's only have dual-core processors.

  • Animated gif and page refresh problem

    Animated gif and page refresh problem
    Hi There,
    I'm trying to build a simple "Please wait......" screen using jsp and javascript.
    So far all is going well except that my animatate gif keeps refreshing everything the page is refresh.
    Is there a way the i can prevent the body of the page from refreshing?
    below is my sample code:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <jsp:useBean id="StatusBean" class="com1.CandidateRelease" scope="session"/>
    <html>
    <script LANGUAGE="JavaScript">
    function refresh()
    <% if (StatusBean.isRunning()) { %>     
         //setTimeout("refresh()", 1000);
         setTimeout("location='status.jsf'", 1000);
    <% }else{%>
         window.location= "busStopAdmin.jsf";
    <%} %>
    </script>
    <head>
         <script LANGUAGE="JavaScript">     
              refresh();
         </script>     
    </head>
    <body>
         <img id="myImage" src="../img/ojp_wait.gif" alt="" width="151" height="36">
    </body>
    </html>

    Animated gif and page refresh problem
    Hi There,
    I'm trying to build a simple "Please wait......" screen using jsp and javascript.
    So far all is going well except that my animatate gif keeps refreshing everything the page is refresh.
    Is there a way the i can prevent the body of the page from refreshing?
    below is my sample code:
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <jsp:useBean id="StatusBean" class="com1.CandidateRelease" scope="session"/>
    <html>
    <script LANGUAGE="JavaScript">
    function refresh()
    <% if (StatusBean.isRunning()) { %>     
         //setTimeout("refresh()", 1000);
         setTimeout("location='status.jsf'", 1000);
    <% }else{%>
         window.location= "busStopAdmin.jsf";
    <%} %>
    </script>
    <head>
         <script LANGUAGE="JavaScript">     
              refresh();
         </script>     
    </head>
    <body>
         <img id="myImage" src="../img/ojp_wait.gif" alt="" width="151" height="36">
    </body>
    </html>

  • Program for turning animated .gif and MP3 files to .mov

    I need a program that takes an animated GIF and an MP3 of WAV file and turns them into a .mov file, but I don't have the money for FinalCut. Is there a cheaper (or free) program that can do this thing?

    hello. try mpeg streamclip here -
    http://www.apple.com/downloads/macosx/video/mpegstreamclip.html
    not sure if it'll help, but most users here swear by it for various format conversions. and it's free.

  • I need a clarification : Can I use EJBs instead of helper classes for better performance and less network traffic?

    My application was designed based on MVC Architecture. But I made some changes to HMV base on my requirements. Servlet invoke helper classes, helper class uses EJBs to communicate with the database. Jsps also uses EJBs to backtrack the results.
    I have two EJBs(Stateless), one Servlet, nearly 70 helperclasses, and nearly 800 jsps. Servlet acts as Controler and all database transactions done through EJBs only. Helper classes are having business logic. Based on the request relevant helper classed is invoked by the Servlet, and all database transactions are done through EJBs. Session scope is 'Page' only.
    Now I am planning to use EJBs(for business logic) instead on Helper Classes. But before going to do that I need some clarification regarding Network traffic and for better usage of Container resources.
    Please suggest me which method (is Helper classes or Using EJBs) is perferable
    1) to get better performance and.
    2) for less network traffic
    3) for better container resource utilization
    I thought if I use EJBs, then the network traffic will increase. Because every time it make a remote call to EJBs.
    Please give detailed explanation.
    thank you,
    sudheer

    <i>Please suggest me which method (is Helper classes or Using EJBs) is perferable :
    1) to get better performance</i>
    EJB's have quite a lot of overhead associated with them to support transactions and remoteability. A non-EJB helper class will almost always outperform an EJB. Often considerably. If you plan on making your 70 helper classes EJB's you should expect to see a dramatic decrease in maximum throughput.
    <i>2) for less network traffic</i>
    There should be no difference. Both architectures will probably make the exact same JDBC calls from the RDBMS's perspective. And since the EJB's and JSP's are co-located there won't be any other additional overhead there either. (You are co-locating your JSP's and EJB's, aren't you?)
    <i>3) for better container resource utilization</i>
    Again, the EJB version will consume a lot more container resources.

  • Looking for a high-performance and reliable NAS

    Hi,
    I have been searching for a high-performance and reliable SOHO NAS storage but I have seen very mixed and contradicting reviews for the products I have looked at so far. From QNAP to Synology to etc.
    However I've not found a good review for Promise SOHO NAS devices such NSx700 and NSx600.
    Is anybody here using them? If so how would you rate these devices?
    Thanks in advance,
    Behrang

    My g/f is using a Synology 1511+ with 2TB WB black drives - set up for 2 disk redundancy.
    http://www.synology.com/us/products/DS1511+/index.php
    She has her lightroom images on there and it works very well with her MBP 10.6.8
    If you have specific questions, please ask
    Michael

  • Performance and Stability Problem with PE9

    I just upgraded my computer to a Core i5 with 8G of memory and everything is running much faster.  But my NEW PE9 just run very slow.  Some of the simple tasks take 10-30 second to complete.  Even Windows 7 will often come out to ask if I want to wait for PE9 to wake up or kill the process.  When I want to change the size of a video clip, it just doesn't work at all due to performance.  It will take PE9 20-30 seconds to resize the video clip.  Without some realtime feedback of the size, it is impossible to do the resizing and this is a very fundamental operation.  PE9 often crash or seize up as well, I didn't have any of these problem with PE3.0.  I upgraded to PE9 simply because my PE3.0 for WIndows XP is not comletely compatible with Windows 7 (some of the text displace does not show up).
    Do anyone else have issue with performance and stability?

    Some general comments, and reading (some for PPro, but concepts are the same)
    http://forums.adobe.com/thread/416679
    Some specific information that is needed...
    Brand/Model Computer (or Brand/Model Motherboard if self-built)
    How much system memory you have installed, such as 2Gig or ???
    Operating System version, such as Win7 64bit Pro... or whatevevr
    -including your security settings, such as are YOU the Administrator
    -and have you tried to RIGHT click the program Icon and then select
    -the Run as Administrator option (for Windows, not sure about Mac)
    Your Firewall settings and brand of anti-virus are you running
    Brand/Model graphics card, sush as ATI "xxxx" or nVidia "xxxx"
    -or the brand/model graphics chip if on the motherboard
    -and the exact driver version for the above graphics card/chip
    -and how much video memory you have on your graphics card
    Brand/Model sound card, or sound "chip" name on Motherboard
    -and the exact driver version for the above sound card/chip
    Size(s) and configuration of your hard drive(s)... example below
    -and how much FREE space is available on each drive (in Windows
    -you RIGHT click the drive letter while using Windows Explorer
    -and then select the Properties option to see used/free space)
    While in Properties, be sure you have drive indexing set OFF
    -for the drive, and for all directories, to improve performance
    My 3 hard drives are configured as... (WD = Western Digital)
    1 - 320G WD Win7 64bit Pro and all programs
    2 - 320G WD Win7 swap file and video projects
    3 - 1T WD all video files... read and write
    Make sure you have the default Windows hard drive indexing set to OFF for all hard drives and folders
    Some/Much of the above are available by going to the Windows
    Control Panel and then the Hardware option (Win7 option name)
    OR Control Panel--System--Hardware Tab--Device Manager for WinXP
    Plus Video-Specific Information http://forums.adobe.com/thread/459220?tstart=0
    And, finally, the EXACT type and size of file that is causing you problems
    -for pictures, that includes the camera used and the pixel dimensions
    Read Bill Hunt on a file type as WRAPPER http://forums.adobe.com/thread/440037?tstart=0
    What is a CODEC... a Primer http://forums.adobe.com/thread/546811?tstart=0
    What CODEC is INSIDE that file? http://forums.adobe.com/thread/440037?tstart=0
    For PC http://www.headbands.com/gspot/ or http://mediainfo.sourceforge.net/en
    This is aimed at Premiere Pro, but may help
    Work through all of the steps (ideas) listed at http://forums.adobe.com/thread/459220?tstart=0
    If your problem isn't fixed after you follow all of the steps, report back with ALL OF THE DETAILS asked for in the FINALLY section at the troubleshooting link
    Also, tuning Win7
    http://www.pcworld.com/businesscenter/article/220753/windows_7_godmode_tips_tricks_tweaks. html
    Temp/Cookie Cleaner http://www.mixesoft.com/
    http://forums.adobe.com/thread/789809?tstart=0
    Win7 Toolbar http://WindowsSecrets.com/comp/110210
    More Win7 Tips http://windowssecrets.com/comp/110127
    Utilities http://windowssecrets.com/comp/110106 (Startup Solutions)
    Win7 Help http://social.technet.microsoft.com/Forums/en-US/category/w7itpro/
    Win7 Configuration Article http://windowssecrets.com:80/comp/100218
    Win7 Monitor http://windowssecrets.com:80/comp/100304
    Win7 Optimizing http://www.blackviper.com/Windows_7/servicecfg.htm
    Win7 Virtual XP http://www.microsoft.com/windows/virtual-pc/
    More on Virtual XP http://blogs.zdnet.com/microsoft/?p=5607&tag=col1;post-5607
    Win7 Adobe Notes http://kb2.adobe.com/cps/508/cpsid_50853.html#tech
    Win7 Adobe Update Server Problem http://forums.adobe.com/thread/586346?tstart=0
    An Adobe Win7 FAQ http://forums.adobe.com/thread/511916?tstart=0
    More Win7 Tips/FAQ http://forums.adobe.com/thread/513640?tstart=0
    Processes http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
    Compatibility http://www.microsoft.com/windows/compatibility/windows-7/en-us/Default.aspx
    Win7 God Mode http://forums.adobe.com/thread/595255?tstart=0
    CS5 Install Error http://forums.adobe.com/thread/629281?tstart=0
    CS5 Help Problem http://kb2.adobe.com/cps/842/cpsid_84215.html
    Win7 and Firewire http://forums.adobe.com/thread/521842?tstart=0
    http://lifehacker.com/5634978/top-10-things-to-do-with-a-new-windows-7-system
    http://www.downloadsquad.com/2009/05/29/7-free-windows-7-tweaking-utilities/
    Win7 64bit Crashing and "a" fix http://forums.adobe.com/thread/580435?tstart=0
    http://prodesigntools.com/if-any-problems-downloading-or-installing-cs5.html
    Harm's Tools http://forums.adobe.com/thread/504907
    Also http://www.tune-up.com/products/tuneup-utilities/
    Also http://personal.inet.fi/business/toniarts/ecleane.htm

  • BEA / Wily:  Financial Webinar - Achieving Availability, Performance and Control of Java Applications in Financial Services

    Event Date: October 1, 2002 at 11:00 AM Pacific (US), 02:00 PM Eastern (US)
    To register: http://regsvc.placeware.com/?wily-bea1001
    Title: Achieving Availability, Performance and Control of Java Applications
    in Financial Services
    Abstract:
    In today's competitive environment, financial institutions must focus on
    three key business goals:
    a.. Creating a customer-centric enterprise to maximize value to customers
    and increase share of wallet
    b.. Improving transactional efficiency for rapid delivery of the right
    products, services and information to customers and to employees
    c.. Accelerating the decision making process to mitigate risk and improve
    returns.
    BEA and Wily Technology have helped a number of financial services firms
    meet these objectives by delivering high-performance business solutions that
    meet rigorous demands for performance, reliability and scalability.
    On October 1, 2002, Wily Technology and BEA will present a joint Web seminar
    titled "Achieving Availability, Performance and Control of Java Applications
    in Financial Services" with Eric Gudgion, Principal System Architect,
    Technical Solutions Group at BEA and Chris Farrell, Director of Technical
    Marketing at Wily. This Webinar will showcase the many advantages that the
    WebLogic® Enterprise PlatformT and Wily's Introscope® offer financial
    services firms.
    Attendees will learn how WebLogic Server, BEA's unified, simplified and
    extensible solution, provides a robust platform for the development and
    deployment of enterprise Java applications. Some examples of what financial
    institutions can achieve with BEA include Multi-channel Services Delivery,
    Straight-Through Processing, Wealth Management and Cash Management.
    Wily Technology will highlight Introscope's ability to manage financial
    services Java applications by pinpointing component-level performance issues
    in real-time, whether in the application, application server or
    Java-connected back-end systems. Wily's suite of Java application management
    solutions offers a comprehensive platform for achieving 24x7 application
    availability, enhanced performance and better control of IT resources.

    First of all you should check out which products are supported on 64bit :- http://www.oracle.com/technology/products/bi/hyperion-supported-platforms.html
    If you are planning on using windows 64bit EAS then you will have to manually deploy the web application, it cannot be automatically deployed.
    Cheers
    John
    http://john-goodwin.blogspot.com/

Maybe you are looking for

  • How to upload XML file into the internal table in Webdynpro  ABAP ?

    Hi Friends, I am not able to upload the XML file into ABAP,can you please help me in solving this issue with the help of source code. Regards Dinesh

  • Auth obj for Tax number 1 and Tax number 2 in fk02

    In tocde FK02 and FK03 we want to restrict some of the fields i.e Tax number 1 and Tax number 2 i.e field stdc1 & stdc2 ,to be visible to some users only ,Is there any auth obj for these fields which we could restict to specific users.

  • Database Link.  Problem in Forms. Baffled!

    Hoping someone can help. I'm working on a system that has a form on it with a problem. Although there is a currently compiled and working version of this form available, I cannot get it to compile. The situation is this. There are 2 databases, MINX a

  • Iweb cannot connect to mobile me?

    howdy. trying to publish a site to mobile me. Been trying all day. just says ''iweb cannot connect to mobile me make sure you are connected to the internet and try again." well, I am connected the internet. can log into me.com. tried the sys pref log

  • Activity Price per TON

    Hi, Is it possible to maintain the activity price perio TON instead of machine hours or Labour hours or Set up. if it is possible,kindly adivce me how to Maintain Activity type per TON. Thanks Sunitha