Performance trouble on repaint

Hello there!
I've got a GUI question for you.
Is there a way to display (repaint) just what is seen in the clipping area of a Graphics?
That is to say, if I have a Shape that "crosses" the clipping area (the shape is bigger than the visible area, and just a part of it will be displayed), is there a way to draw just the visible part of the Shape?
Because in my soft, the user can draw shapes on a picture, and can also perform a zoom. The problem is that when we have a high zoom factor, it seems that the Grapsics takes a long time to draw the Shapes.
Moreover, for some particular reasons, we have to "repaint" really frequently the frame, so this problem is really troublesome.
Here is the code used to draw the Shapes (used for each Shape drawn on the picture):
     public void draw(Graphics2D g2d, AffineTransform aff,
               Color shapeBackground, Color shapeOutline, float shapeTransparency,
               float shapeThickness, float[] shapeStyle, String texturePath,
               Color splitBackground, Color splitOutline, float splitTransparency) {
          g2d.setStroke(new BasicStroke(shapeThickness, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER, 10.0f, shapeStyle, 1));
          g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, shapeTransparency));
          Shape rat = aff.createTransformedShape(shape);
          g2d.setColor(shapeBackground);
          // gestion de la texture
          if (texturePath != null && texturePath.length() > 0) {
               BufferedImage img;
               img = ImageFilesReader.read(texturePath);
               if (img != null) {
                    g2d.setPaint(new TexturePaint(img, rat.getBounds2D()));
          g2d.fill(rat);
          g2d.setColor(shapeOutline);
          if (shapeStyle == CustomizeROIAppearanceDialog.EMPTY_STROKE) {
               g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0f));
          else {
               g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f));
          g2d.draw(rat);
          g2d.setStroke(new BasicStroke());
          if (isSelected){
               split.draw(g2d,aff,splitBackground,splitOutline,splitTransparency);
If it is not possible, do you think that performing a double-buffering strategy could improve the speed of the repaint?...
Thanks a lot!

In fact, I don't ask the Graphics to repaint outside of my component. I have a picture displayed in a JScrollPane, so some parts of my picture and some of my Shapes can lay outside of the visible zone... And so, I would like to draw just the parts of the Shapes that are visible (not the whole Shapes that have visible part, but just ht visible part, if it's possible)
You said :
"Perhaps you could also try manually clipping the shape before you pass it to the affine transform. Or only pass the visible bounds when you set the texture paint. But those are just guesses. "
How can I do that?
Thanks!

Similar Messages

  • General Oracle Database Performance trouble solving best practice Steps

    We use  Oracle 11g DB on Windows2008R2 as web application backend DB.
    We have peformance trouble in that DB.
    I would like to know General Oracle Database Performance trouble solving best practice Steps.
    Is there any good general best practice document for performace trouble solving in the internet ?

    @Girish Sharma:  I disagree with this. Many people say things like your phrase "..first identify the root cause and then move forward" but that is not the first step. Any such technique is nothing more than looking at some report, finding a number that you don't like, and attempting to "fix" it. Some people use that supposedly funny term "compulsive tuning disorder" (first used by Gaja Krishna Vaidyanatha) to describe this approach (also advocated in this topic by @Supriyo Dey). The first step must be to determine what the problem is. Until you know that, all those reports you mentioned (which, remember, require EE plus pack licences) are useless.
    @teradata0802, your best practice starts by finding the problem. Is it, for example, that the overnight batch jobs don't finish until lunchtime? A screen takes 10 seconds to refresh, and your target is one second? A report takes half an hour, but you need to run it every five minutes? Determine what business function is causing your client to lose money because it is too slow. Then investigate what it is doing, how, and why. You have to begin by focussing on the problem, not by running database-wide reports..

  • Top Ten SQL Performance Trouble Clues

    DB:
    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
    PL/SQL Release 11.1.0.7.0 - Production
    TNS for Linux: Version 11.1.0.7.0 - Production
    NLSRTL Version 11.1.0.7.0 - Production
    OS: Red Hat Enterprise Linux 5
    At the risk of being over-simplistic, what would be the Top 5 or 10 things one looks for in an explain plan or execution plan that suggests 'performance trouble'? ...

    user601798 wrote:
    Well, one has to start somewhere and whether its looking at the execution plan or trace file, there must be some rules of thumb... Indeed, we all look 'somewhere' first or notice something in the plan or trace that seems to point to the problematic issue.
    And granted, each tuning issue is unique but, based on experience, I can say that quite a few of my tuning issues have been resolved by simply using NESTED_LOOPS and having the first driving table eliminate as many rows as possible from the final result set.
    And based on that, I'd say you tend to work on OLTP systems.
    If you were a data warehouse DBA, you might have said:
    "And granted, each tuning issue is unique but, based on experience, I can say that quite a few of my tuning issues have been resolved by simply making sure I have bitmap indexes defined on columns that appear in predicates, and making sure sure I have allocated enough memory for efficient HASH joins to take place."
    So, it depends on your perspective.
    That's why performance optimization methods, such as Method-R, focus on identifying the most important, business critical functions, profiling them, understanding where the time is being spent, and focusing the tuning efforts there. In this way, there are no rules of thumb, and there is no guesswork. If you have a performance problem, Method-R will point you to the source of the problem. It's then up to you to understand enough about Oracle to know how to proceed.
    -Mark

  • 10.6.7 Serious Graphics Performance Trouble

    Hello.
    Today I updated my MacBook from 10.6.5 to 10.6.7 using the Combo Updater as well as doing a few other system updates. Already since 10.6.4 my graphics performance had worsened considerably as I had what appeared to be overheat trouble with the GPU after 15 minutes of gaming at most, making the FPS drop from 60 to 15 randomly.
    With the update to 10.6.7 I now can't even exceed 20 frames per second in the first place anymore. Games in which the error occurs: FlightGear 2.0.0 pre3, Redline 1.0.5
    Apart from in games, my Mac generally gets "stuck" particularly often, no matter if it's supposed to move a 15 MB video file into trash or if I'm editing a couple of images with Gimp.
    What could cause this and how could the error be solved?
    Hardware:
    MacBook Aluminium Unibody 13"
    Intel Core 2 Duo 2.0 Ghz
    2 GB DDR3-RAM
    NVIDIA GeForce 9400M 256 MB (shared)

    Found this on another discussion forum.
    These are the .kext and other files which needs to be replaced. You should back up before you install any packages:
    /System/Library/Extensions/GeForce.kext
    /System/Library/Extensions/GeForce7xxxGLDriver.bundle
    /System/Library/Extensions/GeForceGA.plugin
    /System/Library/Extensions/GeForceGLDriver.bundle
    /System/Library/Extensions/GeForceVADriver.bundle
    /System/Library/Extensions/NVDAGF100Hal.kext (if it exists)
    /System/Library/Extensions/NVDANV40Hal.kext
    /System/Library/Extensions/NVDANV50Hal.kext
    /System/Library/Extensions/NVDAResman.kext
    /System/Library/Extensions/NVSMU.kext
    You can get around the hardware verification check by right-clicking the .mpkg and selecting "Show Package Contents".
    In the "Contents" folder that's shown, navigate to "Packages".
    Inside that you'll see three .pkg files: Display Driver.pkg, OpenGL Driver.pkg, and Video Driver.pkg.
    Each of these hopefully installs without a hardware verification check.
    There is another solion given by edit setup checking algorithm:
    Simply locate "distribution.dist" inside driver package,
    then delete part of program with "unsupported_title" and "unsupported_message" strings, save and install.

  • Rudimentary photo browser... trouble with repaint

    Hi folks,
    I'm working on a simple little practice app that allows browsing of photos by clicking on two buttons ("next pic" and "previous pic"). I'm having a problem with the JPanel in which I'm trying to display my photos. Whenever my buttons fire the changePic method, I see the new photo, but it is drawn over the previous photos (i.e. they are not erased). Could someone please advise me on how to keep this from happening. Also, how would I go about making each image (regardless of size) centered in the JPanel?
    public class PhotoPanel extends JPanel {
         Image image;
         public PhotoPanel (Image aImage) {
              image = aImage;
        public void paint(Graphics g) {
            g.drawImage(image, 0, 0, this);
         public void changePic(Image aImage) {
              image = aImage;
              this.repaint();
    }Thanks!

    Swing related questions should be posted in the Swing forum.
    There is no need to override a JPanel for this. Simply add a JLabel to a panel and the use setIcon(...) when you want to change the image.

  • Performance troubles when fetching the descriptions

    Hello,
    I have some bad performances in a web interface. I could correct some of them help to aggregates, but I am facing a bizarre situation.
    I have one variable for 0EMPLOYEE. I fetch the characteristic values help to an exit function, and this works fast and well.
    However, I display the description of the employees and not their key codes. I am not coding anything for fetching the descriptions, I let SAP BPS standard do the job.
    When I trace the system, it appears that SAP creates a view joining the tables /BI0/QEMPLOYEE and /BI0/TEMPLOYEE, in order to get TXTMD. I do not understand why ... I already have the key codes needed to fetch the descriptions. I do not use any attributes for the descriptions.
    Here is the generated code :
    CREATE OR REPLACE VIEW "/BI0/0302679610" AS SELECT "Q"."SOURSYSTEM" ,"Q"."EMPLOYEE" ,"T"."TXTMD" FROM "/BI0/QEMPLOYEE" "Q" , "/BI0/TEMPLOYEE" "T" WHERE "Q"."SOURSYSTEM" = "T"."SOURSYSTEM"() AND "Q"."EMPLOYEE" = "T"."EMPLOYEE"() AND
    ( "Q"."CHANGED" = ' ' OR "Q"."CHANGED" = 'I' ) AND "Q"."DATETO" >= '20070101' AND "Q"."DATEFROM" <= '20070101' AND "Q"."SOURSYSTEM" = 'R1' AND ( "Q"."EMPLOYEE" = '00904096' OR "Q"."EMPLOYEE" = '00904085' OR "Q"."EMPLOYEE" = '00904077'
    OR "Q"."EMPLOYEE" = '00904065' OR
    "Q"."EMPLOYEE" = '00904056' OR
    "Q"."EMPLOYEE" = '00904053'   ...................
    I have the same problem with 0VENDOR, whose variable is not based on exit function but hierarchies. No problem to collect the list of the vendors, but the same problem when fetching their descriptions.
    Regards
    Laurent

    Laurent,
        For a similar problem which I had faced earlier with
    Material InfoObject, we had to create indexes on the
    Master Data and also we put restrictions on the level
    definitions on the Material InfoObject to look at some
    selective Materials rather than million of them.This
    approach worked and the amount of time it took to
    display reduced to one eighth of the original time.
    Hope this helps.
    Cheers
    Srini

  • Troubles with Repaint/Revalidate and all...

    Alrighty, I've wasted far too much time trying to track this down myself when I am sure someone can answer it in a couple lines. The root of the problem lies in this whole blasted revalidate and repaint thing.
    I have read numerous threads in here, and they all seem to talk about the opposite problem I am having. I am really very frusterated with this ATM, so I'm hoping someone can help out.
    Here is the basic feel of my project:
    JFrame
    JTabbedPane
    Tab1
    JPanel left
    JPanel right
    The left panel contains a scrolling pane, inside of which is a panel (BoxLayout along YAxis) that gets labels added to dynamically. Data from a database is used to create the labels.
    On the right panel I have textboxes for dataentry and a button. When the button is pressed, the data from the boxes is placed in the database, and a method is called to refresh the left scrollpane. Here is that code:
    private void populateVendors() {
        vendorlist = IMS.vdv.retrieveVendors();  //This is of type String[][]
        JPanel panel[] = new JPanel[vendorlist.length];
        for(int i=0; i<vendorlist.length; ++i) {
          panel[i] = new JPanel(new BorderLayout());
          panel.add(new JLabel(vendorlist[i][1]),BorderLayout.CENTER);
    panel[i].setBounds(new Rectangle(0,20*i,250,20));
    panel[i].setName(vendorlist[i][0]);
    panel[i].addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e){
    VendorPanelClicked(e);
    public void mouseEntered(MouseEvent e){
    VendorPanelEntered(e);
    public void mouseExited(MouseEvent e){
    VendorPanelExited(e);
    pnlVendorList.add(panel[i],null);
    This code refreshes the scrollpane (pnlVendorList is the panel inside of the scrollpane) just as I want it to. But only until I move my mouse over the panel that just changed (invokes the mouse entered event), or until I switch tabs and come back. Basically the next time this panel gets repainted, it reverts back to the old data.
    I am sure this is clear as mud, so if you need clarification ask. Otherwise I would realy like some help with this!
    Thanks in advance.

    Do you remove the old components from pnlVendorList?
    private void populateVendors() {
      pnlVendorList.removeAll();
      pnlVendorList.setLayout(new GridLayout(0, 1));
      vendorlist = IMS.vdv.retrieveVendors();
      for(int i=0; i < vendorlist.length; i++) {
        JPanel panel = new JPanel(new BorderLayout());
        panel.add(new JLabel(vendorlist[1]),BorderLayout.CENTER);
    panel.setName(vendorlist[i][0]);
    panel.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
    VendorPanelClicked(e);
    public void mouseEntered(MouseEvent e) {
    VendorPanelEntered(e);
    public void mouseExited(MouseEvent e) {
    VendorPanelExited(e);
    pnlVendorList.add(panel,null);

  • Performance Troubles

    Hey all, I have a plain Macbook, purchased almost 2 years ago, with just the basics no upgrades, with the exception of Leopard. Recently, starting around 2-3 months ago, my laptop began to lag alot and run programs very slowly. Anything from Firefox to online games, just a general lower performance that what I was used to from this machine. So I wiped the hard drive when I installed Leopard because I was hoping this would fix the problem, which it didn't. I then ran tech tool deluxe and everything passed except the surface scan. Which gave this message: Surface Scan
    Failed - 1 errors
    The Surface Scan test will scan the disk for bad blocks.
    Media defects cause this test to fail. You should consider backing up the device, reformatting the media, replacing the data, and then testing again.
    I have already done this when I installed Leopard so I do not believe this would fix anything.
    So, my question is, does anyone have any suggestions to what the problem could be? Thanks in advance.

    First, do not use TT Deluxe to repair your drive. The proper tool is Disk Utility in your Utilities folder. Second, if there truly are "media defects" the only definitive repair to do the following. Simply erasing the drive or upgrading won't solve a thing or could make matters worse.
    Extended Hard Drive Preparation
    1. Open Disk Utility in your Utilities folder. If you need to reformat your startup volume, then you must boot from your OS X Installer Disc. After the installer loads select your language and click on the Continue button. When the menu bar appears select Disk Utility from the Installer menu (Utilities menu for Tiger or Leopard.)
    2. After DU loads select your hard drive (this is the entry with the mfgr.'s ID and size) from the left side list. Note the SMART status of the drive in DU's status area. If it does not say "Verified" then the drive is failing or has failed and will need replacing. SMART info will not be reported on external drives. Otherwise, click on the Partition tab in the DU main window.
    3. Click on the Options button, set the partition scheme to GUID (only required for Intel Macs) then click on the OK button. Set the number of partitions from the dropdown menu (use 1 partition unless you wish to make more.) Set the format type to Mac OS Extended (Journaled.) Click on the Partition button and wait until the volume(s) mount on the Desktop.
    4. Select the volume you just created (this is the sub-entry under the drive entry) from the left side list. Click on the Erase tab in the DU main window.
    5. Set the format type to Mac OS Extended (Journaled.) Click on the Options button, check the button for Zero Data and click on OK to return to the Erase window.
    6. Click on the Erase button. The format process can take up to several hours depending upon the drive size.
    Third, you did not provide any information about your hardware configuration such as RAM, etc. Leopard requires a minimum of 512 MBs of RAM. If you have only 1 GB installed then your observed slowdown could simply be due to not having enough RAM. Also having insufficient free space on the hard drive can also contribute to slower performance. You need at least 10 GBs or 15% of the hard drive's capacity as free space, whichever is greater.

  • Major performance trouble Oracle 11g  RHELx64, HP 8100 storage

    Hi hope some one can help me with this.
    We have a datawarehouse with this configuratuion
    Database
    RHEL5 u5 on 2* intel 5700 cpu, 36gb ram, emulex 4gb dual port hba, HP EVA 8100 san.
    Oracle 11g 11.1.7.
    Database 8 kblock
    Disks are
    /data 2.0TB 72 disks formated with ext3 4k block.
    /log 100GB 72 disks formated with ext3 4k block.
    ETL
    Informatica Power Center 8.6 on similar machine.
    My problem is vhen we try to load the database with data it takes forever so we tested this stuff
    iops script run
    SET SERVEROUTPUT ON
    DECLARE
    lat INTEGER;
    iops INTEGER;
    mbps INTEGER;
    BEGIN
    -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
    DBMS_RESOURCE_MANAGER.CALIBRATE_IO (72, 10, iops, mbps, lat);
    DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
    DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
    dbms_output.put_line('max_mbps = ' || mbps);
    end;
    Results
    Warehouse database about 600GB data in it
    max_iops = 82
    latency = 11
    max_mbps = 204
    LOW!!!
    I installed a new database with just the exaple schemas on same disk /data and got theese results
    max_iops = 25665
    latency = 8
    max_mbps = 517
    Any one have some ideas what i should test or change?
    /Jens Bäckström (Noob)Dba

    The second database IOTEST is a small test db.
    This is how i did the test
    i stopped the DWRPD01 wich is the dw database.
    i start the IOTEST DATABSE and run the iops script.
    after the run i stoped IOTEST and started DWPRD02 and run the same script.
    i am sure the database files was on the same san disk group . but ofc i can not besure that the data be on the same physical disk in the SAN cabinett.
    Ill check ur other questions as soon as i have some ansvers
    and thanks for helping me out.
    Below are my initfiles from the DB's
    /Jens
    IOTEST Database
    IOTEST.__db_cache_size=16106127360
    IOTEST.__java_pool_size=268435456
    IOTEST.__large_pool_size=268435456
    IOTEST.__oracle_base='/oracle_prod01'#ORACLE_BASE set from environment
    IOTEST.__pga_aggregate_target=6442450944
    IOTEST.__sga_target=21474836480
    IOTEST.__shared_io_pool_size=0
    IOTEST.__shared_pool_size=4294967296
    IOTEST.__streams_pool_size=268435456
    *.archive_lag_target=1800
    *.audit_file_dest='/oracle_prod01/admin/IOTEST/adump'
    *.audit_sys_operations=true
    *.audit_trail='db'
    *.compatible='11.1.0.0.0'
    *.control_file_record_keep_time=16
    *.control_files='/iotest/IOTEST/control01.ctl','/iotest/IOTEST/control02.ctl','/iotest/IOTEST/control03.ctl'
    *.db_block_checking='LOW'
    *.db_block_checksum='TYPICAL'
    *.db_block_size=8192
    *.db_create_file_dest=''
    *.db_domain=''
    *.db_file_multiblock_read_count=32
    *.db_files=200
    *.db_name='IOTEST'
    *.db_recovery_file_dest=''
    *.db_writer_processes=3
    *.diagnostic_dest='/oracle_prod01'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=IOTESTXDB)'
    *.filesystemio_options='setall'
    *.log_checkpoints_to_alert=true
    *.nls_language='AMERICAN'
    *.open_cursors=512
    *.optimizer_index_cost_adj=50
    *.parallel_io_cap_enabled=true
    *.parallel_max_servers=10
    *.parallel_min_servers=2
    *.pga_aggregate_target=6442450944
    *.processes=512
    *.recyclebin='off'
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sga_target=21474836480DWPRD01.__db_cache_size=16106127360
    *.star_transformation_enabled='TRUE'
    *.undo_tablespace='UNDOTBS1'
    DWPRD01 Database
    DWPRD01.__java_pool_size=268435456
    DWPRD01.__large_pool_size=268435456
    DWPRD01.__oracle_base='/oracle_prod01'#ORACLE_BASE set from environment
    DWPRD01.__pga_aggregate_target=6442450944
    DWPRD01.__sga_target=21474836480
    DWPRD01.__shared_io_pool_size=0
    DWPRD01.__shared_pool_size=4294967296
    DWPRD01.__streams_pool_size=268435456
    *.archive_lag_target=1800
    *.audit_file_dest='/oracle_prod01/admin/DWPRD01/adump'
    *.audit_sys_operations=true
    *.audit_trail='db'
    *.compatible='11.1.0.0.0'
    *.control_file_record_keep_time=16
    *.control_files='/dbffast_prod01/control01.ctl','/oracle_prod01/control02.ctl','/log_prod01/control03.ctl'
    *.db_block_checking='LOW'
    *.db_block_checksum='TYPICAL'
    *.db_block_size=8192
    *.db_create_file_dest=''
    *.db_domain=''
    *.db_file_multiblock_read_count=32
    *.db_files=200
    *.db_name='DWPRD01'
    *.db_recovery_file_dest=''
    *.db_writer_processes=3
    *.diagnostic_dest='/oracle_prod01'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=DWPRD01XDB)'
    *.filesystemio_options='setall'
    *.log_archive_dest_1='LOCATION=/arch_prod01'
    *.log_archive_format='DWPRD01_%t_%s_%r.log'
    *.log_checkpoints_to_alert=true
    *.nls_language='AMERICAN'
    *.open_cursors=512
    *.optimizer_index_cost_adj=50
    *.parallel_io_cap_enabled=true
    *.parallel_max_servers=10
    *.parallel_min_servers=2
    *.pga_aggregate_target=6442450944
    *.processes=512
    *.recyclebin='off'
    *.remote_login_passwordfile='EXCLUSIVE'
    *.sga_target=21474836480
    *.star_transformation_enabled='TRUE'
    *.undo_tablespace='UNDOTBS1'

  • Development Performance Guidlines

    Could you please send me information if you know about guidlines for J2EE developers regarding performance.
    We will develop client desktop application running in browser and communicating with application server BEA WebLogic.

    do you mean tips for better performance?
    Yes:
    use the business delegate pattern
    use the session facade pattern
    avoid lots of round trips (it's better to send a small number of large messages than a large number of small messages)
    have the client keep track of most/all of the application's state
    use lazy-instantiation or proxies where appropriate
    Read:
    Patterns of Enterprise Applications (Fowler)
    J2EE Design Patterns
    EJB Design Patterns
    the GoF patterns book
    Best Practices:
    write your code to be maintainable and very loosely coupled
    have a DBA tune your table structures and SQL
    use a performance tuning tool to spot performance troubles
    tune those areas specified by your tool (the loosely coupled nature of your implementation should allow you to make these changes rather easily)
    don't pre-emptively tune: you'll spend too much time chasing things that aren't actual performance problems.

  • Urgent - Oracle Applications Performance - Please Help me!

    Hi folks!
    I´m having a lot of performance troubles in Oracle applications, and the dba and the network analyst can´t help me. I´m having this trouble since 2 weeks, and nobody can explain why. The system is too slow and if i try a simple select in database it takes a lot of time, i think (i think ok?) there are som database troubles...
    I saw some docs
    1. System Mgmt White Paper http://www.oracle.com/appsnet/technology/managing/collateral/wp_managing11i.pdf
    2. System Mgmt PPT http://www.oracle.com/pls/oow/oow_user.download?p_event_id=15&p_file=P39948.zip
    3. Reducing 11i Downtime PPT http://www.oracle.com/pls/oow/oow_user.download?p_event_id=15&p_file=P39947.zip
    4. Performance and Scalability site : There are a couple of excellent presentations and white papers which will give you the right way to do performance tuning. http://www.oracle.com/appsnet/technology/performance/content.html
    but i need something more specifical like
    simple performance tests.
    Best Regards!
    Filipe
    [email protected]

    Hi
    Check this one.
    http://www.appsworld2004.com/scps/controller/catalog
    Search for item 1066. This is a presentation on "Performance Tuning Users Tips and Techniques" by Ahmed Alomari, Applications Performance Group, Oracle Corporation. You may need to register and then login.
    If you cant access this presentation, let me know, I can mail it to you as well.
    There was a similar presentation of 2002 Appsworld as well. Am not able to locate the link yet.
    Best Wishes
    Vinod Subramanian

  • Dataload performances

    I'm currently experiencing performances troubles with essbase 6.5 on HP-UX server (4 processors - 8 Gb RAM) on a very tiny database...Loading 1 line using dataload spend 5 seconds...On my laptop : 0.18 seconds...I have tried to enable/disable the parallel dataload : Same thing...Can somebody help me ?Laurent PULCE - Vivendi Water Systems

    A bit of a helpdesk line but first starting place would to upgrade from 6.5 to 6.5.1. There were a number of bugs in 6.5 especially on Unix. Try this first and then let me know how you get on from there.Hope this helps.Paul Armitage.Analitica Ltd.www.analitica.co.uk

  • Repaint question on j2me midp 2.0

    Hi,
    Is there a way to force repaint() happens at the time you want to call it instead of queueing it in an event queue? If I do that, what are the drawbacks?
    And on a real phone, what is the performance difference before repaint() a region verus repaint() the whole screen? And does setting up clipping rect help performance?
    Thank you.

    I think that you can call repaint() whenever you want in GameCanvas. The good thing is that you have the full control. The bad thing is that you will see the screen "flashing" if you call repaint() too frequently.
    The performance is dependent on the MIDP 2.0 implementation of the phone. MIDP 2.0-compatible phones might have different performance but they must have the same functionality.
    I have tried on Motorola V300 and V600, repainting on the clipped region is faster than repainting the whole screen.

  • Use Of Numeric Table Names For Performance

    Just a question if anyone has any experience using numeric table names(ie... 100, 200, 300... etc) instead of the typical naming conventions (ie... data_user_statistics, statsUser etc....) in their databases.
    I had a database admin advise me that by using the short numerical names, you could potentially see a measurable gain in performance. Not sure how much that would be on a smaller 30-50 table database. I would think however, that if the database is heavily utilized, that you would see some performance gains. Just curious if anyone had any thoughts on this.

    user10887160 wrote:
    Just a question if anyone has any experience using numeric table names(ie... 100, 200, 300... etc) instead of the typical naming conventions (ie... data_user_statistics, statsUser etc....) in their databases.
    I had a database admin advise me that by using the short numerical names, you could potentially see a measurable gain in performance. Not sure how much that would be on a smaller 30-50 table database. I would think however, that if the database is heavily utilized, that you would see some performance gains. Just curious if anyone had any thoughts on this.Does your admin suggest the same for columns ?
    Imagine having to work out the (otherwise obvious) error in something like:
    select
            "100"."302",
            "200"."707"
    from
            "100",
            "200"
    where
            "100"."305" = 104395
    and     "200"."709"="100"."303"
    ;(And I have seen it in a production system - except the tables started with a "T" and the columns with a "C" - and it was a complete pain in the backside to do performance trouble-shooting.)
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
    "Science is more than a body of knowledge; it is a way of thinking"
    Carl Sagan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Flex Air Performance Issue

    Hi,
    I am trying to build a Flex Air application which consist a few flash content (images transition & marquee text) loaded with swfloader. Sometimes it will playback some videos when it trigger some command. However, during my early stage of development, I encounter the performance trouble. Currently, I only have 2 flash swf files loaded into the scene. One is the image transition, and the other one is marquee text. My project scene size is 1280 x 720. I have set all the component to resize it when display in fullscreen mode to have the correct size and position for every component. However, after I try to run the display for a few minutes on my corei7 PC, everything starts to slow down. Especially during the flash image transition (just a basic fade in and out between 2 image), and it use out all my corei7 processor core usage.
    Basically just 2 simple flash component and begin to slow down after a few moment.
    Why is this happen?!!! How can I solve it? Thanks.

    Here is my code:
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                xmlns:s="library://ns.adobe.com/flex/spark"
                                xmlns:mx="library://ns.adobe.com/flex/mx" width="1280" height="720" backgroundColor="#0000FF" showStatusBar="false"
                                applicationComplete="init(event)">
         <fx:Script>
              <![CDATA[
                   import mx.events.FlexEvent;
                            import org.osmf.events.TimeEvent;
                   protected function adjustScreen():void
                        var sWidth:Number = this.width;
                        var sHeight:Number = this.height;
                        // stage height is larger / taller than 16:9
                        if (sHeight/sWidth > 0.5625){
                             backImage.width = sWidth;
                             backImage.height = backImage.width * 0.5625;
                        // stage width is larger / taller than 16:9
                        if (sHeight/sWidth < 0.5625){
                             backImage.height = sHeight;
                             backImage.width = backImage.height / 0.5625;
                        // stage size is 16:9
                        if (sHeight/sWidth == 0.5625){
                             backImage.height = sHeight;
                             backImage.width = sWidth;
                        //MainContent
                        var scaleRatio:Number = backImage.height/720;
                        mainContent.height = 505 * scaleRatio;
                        mainContent.width = 943 * scaleRatio;
                        marqueeText.height = 44 * scaleRatio;
                        marqueeText.width = 943 * scaleRatio;
                        // stage height is larger / taller than 16:9
                        if (sHeight/sWidth > 0.5625){
                             mainContent.x = 29 * scaleRatio
                             mainContent.y = 95 * scaleRatio + (this.height - (this.width * 0.5625))/2;
                             marqueeText.x = 29 * scaleRatio
                             marqueeText.y = 646 * scaleRatio + (this.height - (this.width * 0.5625))/2;
                        // stage width is larger / taller than 16:9
                        if (sHeight/sWidth < 0.5625){
                             mainContent.x = 29 * scaleRatio + (this.width - (this.height / 0.5625))/2;
                             mainContent.y = 95 * scaleRatio
                             marqueeText.x = 29 * scaleRatio + (this.width - (this.height / 0.5625))/2;
                             marqueeText.y = 646 * scaleRatio
                        // stage size is 16:9
                        if (sHeight/sWidth == 0.5625){
                             mainContent.x = 29 * scaleRatio;
                             mainContent.y = 95 * scaleRatio;
                             marqueeText.x = 29 * scaleRatio;
                             marqueeText.y = 646 * scaleRatio;
                   protected function init(event:FlexEvent):void
                        stage.addEventListener(KeyboardEvent.KEY_UP, handleKeyUp);
                        adjustScreen();
                   public function handleKeyUp(event:KeyboardEvent) :void
                        if (event.charCode == 13){ // Enter Pressed
                             stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
                        if (event.charCode == 27){ // ESC Pressed
                             stage.displayState = StageDisplayState.NORMAL;
                        if (this.currentState == "State1"){
                             if (String.fromCharCode(event.charCode) == "1"){
                                  this.currentState = "video";
                                  videoContent.source = "video/Growth (ENG).mp4";
                             if (String.fromCharCode(event.charCode) == "2"){
                                  this.currentState = "video";
                                  videoContent.source = "video/Stability (ENG).mp4";
                             if (String.fromCharCode(event.charCode) == "3"){
                                  this.currentState = "video";
                                  videoContent.source = "video/Strength (ENG).mp4";
                        adjustScreen();
                   protected function videoContent_completeHandler(event:TimeEvent):void
                        this.currentState = "";
                        adjustScreen();
              ]]>
         </fx:Script>
         <s:states>
              <s:State name="State1"/>
              <s:State name="video"/>
         </s:states>
         <s:transitions>
              <s:Transition>
                   <s:Fade targets="{[mainContent, videoContent]}"/>
              </s:Transition>
         </s:transitions>
         <fx:Declarations>
              <!-- Place non-visual elements (e.g., services, value objects) here -->
         </fx:Declarations>
         <mx:Image id="backImage" source="assets/background.jpg" smoothBitmapContent="true" maintainAspectRatio="true" horizontalCenter="0" verticalCenter="0"/>
         <mx:SWFLoader id="mainContent" source="assets/mainContent.swf" smoothBitmapContent="false" maintainAspectRatio="true" x="29" y="95" includeIn="State1"/>
         <s:VideoDisplay id="videoContent" complete="videoContent_completeHandler(event)" includeIn="video" x="{mainContent.x}" y="{mainContent.y}" width="{mainContent.width}" height="{mainContent.height}"/>
         <mx:SWFLoader id="marqueeText" source="assets/marquee.swf" smoothBitmapContent="true" maintainAspectRatio="true" x="29" y="646" scrollRect="{new Rectangle(0, 0, marqueeText.width, marqueeText.height)}"/>
    </s:WindowedApplication>
    The mainContent.swf is the swf flash which contains 2 image rotations with fade in as the transition effect.
    The marquee.swf is the swf flash with text that move from right to left continuously.

Maybe you are looking for