Vector vs bitmap, gradient/transparency/filter performance questions on ios

so i understand vector artwork is all done by cpu and drawn every frame and bitmaps can be loaded directly from ram using the gpu but when you have simple objects such a masks and static lines, is it more efficient to use vector graphics for a mask? or should it be a bitmap?   what about a line, since it is just a graphic made using a equation rather then wasting resources on a large picture?
also when movieclips have filters on them such as bluring, it seems like it overlays multiple transparent copies of the image onto the selected movieclip. Does the cpu then have to multiply each colour of the transparent images to arive at the final blur? when i cache this as a bitmap and the edges are feathered/transparent does the gpu multiply the transparercies at the edges? or is it still the cpu that handles it?
I also wanted to know how stressing gradients are on the cpu/gpu, as a bitmap i assume it is treated the same as any other image but as a vector is it more costley on the cpu to have it up on the stage than an image?
if there is any tips for graphics on mobile devices i would love to hear them.

so i understand vector artwork is all done by cpu and drawn every frame and bitmaps can be loaded directly from ram using the gpu but when you have simple objects such a masks and static lines, is it more efficient to use vector graphics for a mask? or should it be a bitmap?   what about a line, since it is just a graphic made using a equation rather then wasting resources on a large picture?
also when movieclips have filters on them such as bluring, it seems like it overlays multiple transparent copies of the image onto the selected movieclip. Does the cpu then have to multiply each colour of the transparent images to arive at the final blur? when i cache this as a bitmap and the edges are feathered/transparent does the gpu multiply the transparercies at the edges? or is it still the cpu that handles it?
I also wanted to know how stressing gradients are on the cpu/gpu, as a bitmap i assume it is treated the same as any other image but as a vector is it more costley on the cpu to have it up on the stage than an image?
if there is any tips for graphics on mobile devices i would love to hear them.

Similar Messages

  • AIR and performance questions

    Hey,
    I'm new to AIR mobile development although i have around a decades experience with Flash, but with AIR for mobile i'm a bit lost. So i was hoping someone can answer these questions for me...
    1. Is there currently no way to use a phones vibration with AIR? I remember seeing people asking this on these forums last year, and it still looks as if this extremely simple thing cannot be done? And if it cant, are there plans to have it in AIR 2.7?
    2. When i select GPU acceleration, does it cache all bitmaps automatically? Or do i still have to manually select "Cache as Bitmap" for everything i want cached? (i'm using Flash Pro CS5.5). Because it seems to have no effect on frame rates whatever i do here as long as GPU render mode is selected.
    3. Would i get better performance using vectors or bitmaps for graphics?
    4. Whats the texture size limit for Android and iOS before it can no longer be cached?
    5. Does it matter performance wise if JPG's and PNG's are used for graphics instead of bitmaps? (when i've not selected Cache as Bitmap).
    6. Whats the differences between a AIR for Android and AIR for iOS? I've noticed that for Android it supports use of the camera, for iOS it dont. Is there anything else?
    7. How can i embed a HD video in an AIR for Android app? i've seen this thread: http://forums.adobe.com/thread/849395?tstart=0
    but it's for AIR on iOS, i wouldn't think it's any different for Android, but i'm getting a blank screen when i use the code from that thread (and i'm testing on a Android phone too, not in Flash > Test Movie).
    Or if anyone has ANY tips for performance at all then i'd love to hear them

    Hello,
    I think that Colin may have answered a lot of your questions but here it is:
    1. There is currently no way to make the phone vibrate for within AIR. You can read this post on how to create an Android/AIR hybrid application which gives you extension access to some native functionality. Warning: it is somewhat advanced and not supported by Adobe
    http://www.jamesward.com/2011/05/11/extending-air-for-android/?replytocom=163323
    You can expect to have this functionality in AIR at some point in the future, perhaps not in 2.7
    2. in AIR for Android, there is no need to set GPU if you are only using bitmaps. Cache As Bitmap is only needed for vector art.
    3. Bitmaps would be better but performance is not the only consideration. Remember that memory is limited so bitmaps can use it all so vectors may be a good option if you have a lot of art. A great advantage of using AIR is that you have the option between the two. My recommendation would be that if your art is going to be animated, create it as bitmap or use cacheAsBitmap if it only moves on x and y axis and use CacheAsBitmapMatrix if it transforms in other way (rotation, size).
    4. The limit on Android was 1,024×1,024 last time I checked.
    5. JPGs are smaller in size but PNGs look better. A side note, because the PPI is so high on devices, everything looks great so you can get away with lesser quality assets. Test all options.
    6. The differences between the two platforms are minimal. Camera first but also Android lets you access the media library (where all the images taken by the device are stored) where iOS do not. In general Android is more open.
    7. Video is a very large topic. If you embed the video, you will have a black screen until it is fully loaded. I should say that I did a project with a 1 GB movie and it loaded right away. I have not used the StageWebView to display the movie. Keep in mind that the way the video is endoced matters a great deal (use baseline profile).
    Here is some sample code:
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.media.Video;
    import flash.events.NetStatusEvent;
    var connection:NetConnection;
    var video:Video;
    video = new Video();
    video.width = 480;
    video.height = 320;
    connection = new NetConnection();
    connection.addEventListener(NetStatusEvent.NET_STATUS, netConnectionEvent);
    connection.connect(null);
    function netConnectionEvent(event:NetStatusEvent):void {
    event.target.removeEventListener(NetStatusEvent.NET_STATUS,
    netConnectionEvent);
    if (event.info.code == "NetConnection.Connect.Success") {
    var stream:NetStream = new NetStream(connection);
    stream.addEventListener(NetStatusEvent.NET_STATUS, netStreamEvent);
    var client:Object = new Object();
    client.onMetaData = onMetaData;
    stream.client = client;
    // attach the stream to the video to display
    video.attachNetStream(stream);
    stream.play("someVideo.flv");
    addChild(video);
    function onMetaData(info:Object):void {}
    I would recommend looking at my book. I cover a lot of these topics in detail (and went through the same hurdles as you):
    http://oreilly.com/catalog/0636920013884
    (you can get it on Amazon too).

  • Simple performance question

    Simple performance question. the simplest way possible, assume
    I have a int[][][][][] matrix, and a boolean add. The array is several dimensions long.
    When add is true, I must add a constant value to each element in the array.
    When add is false, I must subtract a constant value to each element in the array.
    Assume this is very hot code, i.e. it is called very often. How expensive is the condition checking? I present the two scenarios.
    private void process(){
    for (int i=0;i<dimension1;i++)
    for (int ii=0;ii<dimension1;ii++)
      for (int iii=0;iii<dimension1;iii++)
        for (int iiii=0;iiii<dimension1;iiii++)
             if (add)
             matrix[i][ii][iii][...]  += constant;
             else
             matrix[i][ii][iii][...]  -= constant;
    private void process(){
      if (add)
    for (int i=0;i<dimension1;i++)
    for (int ii=0;ii<dimension1;ii++)
      for (int iii=0;iii<dimension1;iii++)
        for (int iiii=0;iiii<dimension1;iiii++)
             matrix[i][ii][iii][...]  += constant;
    else
    for (int i=0;i<dimension1;i++)
    for (int ii=0;ii<dimension1;ii++)
      for (int iii=0;iii<dimension1;iii++)
        for (int iiii=0;iiii<dimension1;iiii++)
           matrix[i][ii][iii][...]  -= constant;
    }Is the second scenario worth a significant performance boost? Without understanding how the compilers generates executable code, it seems that in the first case, n^d conditions are checked, whereas in the second, only 1. It is however, less elegant, but I am willing to do it for a significant improvement.

    erjoalgo wrote:
    I guess my real question is, will the compiler optimize the condition check out when it realizes the boolean value will not change through these iterations, and if it does not, is it worth doing that micro optimization?Almost certainly not; the main reason being that
    matrix[i][ii][iii][...]  +/-= constantis liable to take many times longer than the condition check, and you can't avoid it. That said, Mel's suggestion is probably the best.
    but I will follow amickr advice and not worry about it.Good idea. Saves you getting flamed with all the quotes about premature optimization.
    Winston

  • BPM performance question

    Guys,
    I do understand that ccPBM is very resource hungry but what I was wondering is this:
    Once you use BPM, does an extra step decreases the performance significantly? Or does it just need slightly more resources?
    More specifically we have quite complex mapping in 2 BPM steps. Combining them would make the mapping less clear but would it worth doing so from the performance point of view?
    Your opinion is appreciated.
    Thanks a lot,
    Viktor Varga

    Hi,
    In SXMB_ADM you can set the time out higher for the sync processing.
    Go to Integration Processing in SXMB_ADM and add parameter SA_COMM CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 (seconds). You can also increase the number of parallel processes if you have more waiting now. SA_COMM CHECK_FOR_MAX_SYNC_CALLS from 20 to XX. All depends on your hardware but this helped me from the standard 60 seconds to go to may be 70 in some cases.
    Make sure that your calling system does not have a timeout below that you set in XI otherwise yours will go on and finish and your partner may end up sending it twice
    when you go for BPM the whole workflow
    has to come into action so for example
    when your mapping last < 1 sec without bpm
    if you do it in a BPM the transformation step
    can last 2 seconds + one second mapping...
    (that's just an example)
    so the workflow gives you many design possibilities
    (brigde, error handling) but it can
    slow down the process and if you have
    thousands of messages the preformance
    can be much worse than having the same without BPM
    see below links
    http://help.sap.com/bp_bpmv130/Documentation/Operation/TuningGuide.pdf
    http://help.sap.com/saphelp_nw04/helpdata/en/43/d92e428819da2ce10000000a1550b0/content.htm
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/sap%20exchange%20infrastructure%20tuning%20guide%20xi%203.0.pdf
    BPM Performance tuning
    BPM Performance issue
    BPM performance question
    BPM performance- data aggregation persistance
    Regards
    Chilla..

  • How to create a gradient transparency?

    I am using Photoshop Elements 8.  This might have a really simple answer, but I can't figure it out.  I am trying to take a layer, and simply make it go from solid picture to a gradient transparency, so that it gradually disappears.  It is hard to explain, but I hope you understand.  Please let me know if you know how to do that.  Thanks a bunch.
    -TitanVex
    It would look kind of like this:
    IIIIIIIIII IIII  II  I  I    I       I
    IIIIIIIIII IIII  II  I  I    I       I
    IIIIIIIIII IIII  II  I  I    I       I
    ^                                      ^
    Solid                             Picture
    Part of                         Gradually
    Picture                        Disappears
    If that makes sense.

    TitanVex,
    http://www.pixentral.com/show.php?picture=1F0EKmMs2abEs4PGS3Oe1wyCxJ1rsh
    Open picture
    Duplicate background layer, work on background copy layer
    Access the gradient tool (G), and in the tool's option bar select the foreground-to-transparent, linear gradient. Be sure that the color chips (lower left) are set to black for foreground and white for background. See my screen shot above. Note transparency is checked.
    I drew the gradient from right to left, about 3/4 way.
    If the gradient is too profound, you can reduce the opacity of the background copy layer.
    If you need to start over again during practice, delete the background copy layer and go back to step #2.

  • Aterm/Urxvt gradient transparency?

    I've seen an example for Aterm
    http://www.afterstep.org/screenshots/Ti … fDoubt.png
    I can't find how to do it.  I've looked through the man files and it looks like the only way is with "themes" with Afterstep (i'm not switching from Fluxbox)...I would like to use Xdefaults if at all possible.
    Last edited by pw_f100_220 (2010-04-28 02:49:22)

    I'll give it a try, but it seems that setting transparency in the terminal would nullify an image, or making a gradient-transparent image the background might just show the default background of aterm/urxvt.  Other than that I'm not sure what to try...there are a lot of options that I don't understand in the mans.
    Unfortunately, my semester is almost over so my trial and error playing time is limited for a couple weeks...thanks for the thought

  • Swing performance question: CPU-bound

    Hi,
    I've posted a Swing performance question to the java.net performance forum. Since it is a Swing performance question, I thought readers of this forum might also be interested.
    Swing CPU-bound in sun.awt.windows.WToolkit.eventLoop
    http://forums.java.net/jive/thread.jspa?threadID=1636&tstart=0
    Thanks,
    Curt

    You obviously don't understand the results, and the first reply to your posting on java.net clearly explains what you missed.
    The event queue is using Thread.wait to sleep until it gets some more events to dispatch. You have incorrectly diagnosed the sleep waiting as your performance bottleneck.

  • Xcontrol: performance question (again)

    Hello,
    I've got a little performance question regarding xcontrols. I observed rather high cpu-load when using xcontrols. To investigate it further, I built a minimal xcontrol (boolean type) which only writes the received boolean-value to a display-element in it's facade (see attached example). When I use this xcontrol in a test-vi and write to it with a rate of 1000 booleans / second, I get a cpu-load of about 10%. When I write directly to a boolean display element instead of the xcontrol,I have a load of 0 to 1 %. The funny thing is, when I emulate the xcontrol functionality with a subvi, a subpanel and a queue (see example), I only have 0 to 1% cpu-load, too.
    Is there a way to reduce the cpu-load when using xcontrols? 
    If there isn't and if this is not a problem with my installation but a known issue, I think this would be a potential point for NI to fix in a future update of LV.
    Regards,
    soranito
    Message Edited by soranito on 04-04-2010 08:16 PM
    Message Edited by soranito on 04-04-2010 08:18 PM
    Attachments:
    XControl_performance_test.zip ‏60 KB

    soranito wrote:
    Hello,
    I've got a little performance question regarding xcontrols. I observed rather high cpu-load when using xcontrols. To investigate it further, I built a minimal xcontrol (boolean type) which only writes the received boolean-value to a display-element in it's facade (see attached example). When I use this xcontrol in a test-vi and write to it with a rate of 1000 booleans / second, I get a cpu-load of about 10%. When I write directly to a boolean display element instead of the xcontrol,I have a load of 0 to 1 %. The funny thing is, when I emulate the xcontrol functionality with a subvi, a subpanel and a queue (see example), I only have 0 to 1% cpu-load, too.
    Okay, I think I understand question  now.  You want to know why an equivalent xcontrol boolean consumes 10x more CPU resource than the LV base package boolean?
    Okay, try opening the project I replied yesterday.  I don't have access to LV at my desk so let's try this. Open up your xcontrol facade.vi.  Notice how I separated up your data event into two events?  Go the data change vi event, when looping back the action, set the isDataChanged (part of the data change cluster) to FALSE.  While the data input (the one displayed on your facade.vi front panel), set that isDataChanged to TRUE.  This is will limit the number of times facade will be looping.  It will not drop your CPU down from 10% to 0% but it should drop a little, just enough to give you a short term solution.  If that doesn't work, just play around with the loopback statement.  I can't remember the exact method.
    Yeah, I agree xcontrol shouldn't be overconsuming system resource.  I think xcontrol is still in its primitive form and I'm not sure if NI is planning on investing more times to bug fix or even enhance it.  Imo, I don't think xcontrol is quite ready for primetime yet.   Just too many issues that need improvement.
    Message Edited by lavalava on 04-06-2010 03:34 PM

  • Gradient transparency - how to in AI CS5.5

    How do I create a gradient transparency on an image in CS 5.5 AI - I am a first time user of this platform.
    Ohotybird2

    In this example the Color Stop Opacity is set to 0 for the two bottom colors.
    You can set the Opacity Blend Mode to e.g. Overlay in the timeline.
    You can draw any shape in the titler with the Pentool.
    For feathering drop a Fast Blur on the title in the timeline.

  • I have a question in iOS Air Print feature.

    Hi,
    Good day
    I have a question in iOS Air Print feature.
    I have Fuji Xerox DocuCentre-IVC2263 in my company and i need to print document from the iOS device to this Fuji Xerox.
    Fuji Xerox is connect with Ethernet cable.
    So, if i buy Apple Airport Express, can i print message on Apple Mail app and document on Apple Pages app ?
    Note: I download FX Print Utilitie from App Store, This app can print only PDF, Webpage, picture. It's can't print message from Apple Mail app (attachment also), can't print document from Apple Pages app.
    Thanks
    Pichate83

    To print directly from an iOS device, the printer must support AirPrint. Just connecting a printer to an AirPort Express base station (either by USB or Ethernet) will not, in itself, make the printer AirPrint ready.

  • Vector vs bitmap, transparency & gradient on ios

    so i understand vector artwork is all done by cpu and drawn every frame and bitmaps can be loaded directly from ram using the gpu but when you have simple objects such a masks and static lines, is it more efficient to use vector graphics for a mask? or should it be a bitmap?   what about a line, since it is just a graphic made using a equation rather then wasting resources on a large picture?
    also when movieclips have filters on them such as bluring, it seems like it overlays multiple transparent copies of the image onto the selected movieclip. Does the cpu then have to multiply each colour of the transparent images to arive at the final blur? when i cache this as a bitmap and the edges are feathered/transparent does the gpu multiply the transparercies at the edges? or is it still the cpu that handles it?
    I also wanted to know how stressing gradients are on the cpu/gpu, as a bitmap i assume it is treated the same as any other image but as a vector is it more costley on the cpu to have it up on the stage than an image?
    if there is any tips for graphics on mobile devices i would love to hear them.

    When you put the images in a vector slideshow overlay you change the display experience. You'll see a low-res version of each image show up first, then the high-res version snap in. Many publishers don't like that experience. You make the overal folio side larger too, as we have to embed both the full-size image and the lower-quality thumbnail images.
    Unless you are creating a single edition application you should publish two renditions, one SD and one HD. Create your designs as 1024x768 InDesign documents and place images in your slideshows that are large enough to be nice on a retina ipad. Use a raster slideshow.
    Then use that source InDesign document to create articles in two folios: one at 1024x768 and one at 2048x1536. We'll be smart and scale the images in the slideshow based on the size of the folio. If you have a sidecar.xml file the work to create the second rendition in Folio Builder Panel is very fast. You can create an empty 2048x1536 PDF folio and import all the finished InDesign articles at once.
    Publish both folios and you're done. Beautiful content on SD, beautiful content on HD.
    Neil

  • Gradient Transparency for Vector Mask

    I am having trouble getting my gradient tool to work on a vector mask for transparency. I haven't changed any settings! Nothing happens when I use the gradient tool. Someone help please??

    I think I may have not explained my situation well enough. Hopefully this helps clarify, which will help you to answer again if you can. Thanks for replying! You seem to know a lot and I am really hopeful that you can help me out.
    I'm working on a photo, which is the background layer. I've created a basic action that lightens my image. This of course is a new layer and I don't want the whole image lightened, just parts. Once I click on that action and the new layer is created, I then hit the vector mask button in my lower layer tab, to create a mask, which I then use the gradient tool to adjust accordingly. In my example, I use this to then only lighten a part of the photo either with the side to side gradient or the circle gradient. I apologize for the lack of proper terms! This has always worked in the past.
    I think the problem has something to do with the gradient not working. Even if I put a solid shape in a new layer, it does nothing when I try to use the gradient on that.
    Does this clarify my problem any better?

  • Performance Questions

    Hi,
    i've following questions about report performance:
    1) If in my rpd i have a table or a view which degradates performances, all the other objects are impacted? In other words if i have a table or a view X which has long time to retrieve results, even queries that not have in their clause X , will have bad performance? It's all linked?
    2) When i log in Oracle BI, what are objects that BI Server pre-load, in addition to session or repository variables and users/groups?
    3) Indexes on my DB can improve performances ?
    4) I had a report based on Dimension A and a measure B. In it i had defined a filter on Year field (Year=2011). Opening NQSQuery in phisical query i see correctly the filter applied .
    Now i have created a new report based on Dimension A and a measure C calculated using Ago and Todate functions. Even in it i have same filter. Opening NQSQuery in phisical query i don't see plus the filter, but it's defined only in logical query. It's however executed or not? Executing a filter in logical level, can warsen performances?
    Thanks

    832596 wrote:
    Hi,
    i've following questions about report performance:
    1) If in my rpd i have a table or a view which degradates performances, all the other objects are impacted? In other words if i have a table or a view X which has long time to retrieve results, even queries that not have in their clause X , will have bad performance? It's all linked?As long as the table X / View X is not being used in the report ( in other words, is not used in the SQL generated against the database ), you should be fine with the performance.
    2) When i log in Oracle BI, what are objects that BI Server pre-load, in addition to session or repository variables and users/groups?I think that is about it. BI server activates all the session variables, repository variables ,and picks up groups/roles of the user that is logging in.
    3) Indexes on my DB can improve performances ? Yes, indeed. Create indexes to speed-up access times and improve join operations . Create indexes on dimension table columns that have a large number of distinct values. This will speed-up access time. Indexes should be designed sensibly and ideally should not contain more than 5 columns in a table.

  • Improving TableRowSorter Filter Performance

    Hi, I currently have a TableModel with over 17300 rows of data, which has a TableRowSorter attached to provide sorting and filtering on the JTable. Everything works fine except that filtering the table takes to long, even on a Wndow Vista machine with an Intel Core 2 Duo (3.6ghz processor)
    Is there any known way to improve the filtering performance on TableRowSorter? It should be noted however, that Sorting with the same data does not take as long (at times). It is also much slower when all the necessary bells and whistles or rendering are included.
    Here is an example piece of code:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.table.*;
    public class Trial extends JFrame {
        public JTable table;
        public DefaultTableModel model;
        public TableRowSorter sorter;
        public JTextField filterField;
        public Trial() {
            super("Filter Test");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            Vector<String> cols = new Vector<String>();
                cols.addElement("Column 1");
                cols.addElement("Column 2");
                cols.addElement("Column 3");
                cols.addElement("Column 4");
                cols.addElement("Column 5");
                cols.addElement("Column 6");
            Vector<Vector<Object>> rows = new Vector<Vector<Object>>();
            for(int i = 0; i < 20000; i++) {
                Vector<Object> row = new Vector<Object>();
                    row.addElement("Column 1 Data " + (i+1) );
                    row.addElement("Some Data " + (i+1) );
                    row.addElement("Column 3 Data " + (i+1) );
                    row.addElement("Even More Data " + (i+1) );
                    row.addElement("Column 5 Data " + (i+1) );
                    row.addElement("Please No More Data " + (i+1) );
                rows.addElement( row );
            model = new DefaultTableModel(rows, cols);
            table = new JTable( model );
            table.setRowSorter( new TableRowSorter(model) );
            JScrollPane scr = new JScrollPane(table);
            filterField = new JTextField(20);
            filterField.addCaretListener( new CaretListener() {
                public void caretUpdate(CaretEvent e) {
                    if(table.getRowSorter() == null) return;
                    setCursor( Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR) );
                    String text = filterField.getText();
                    ((DefaultRowSorter)table.getRowSorter()).setRowFilter(RowFilter.regexFilter(".*" + text + ".*"));
                    setCursor( Cursor.getDefaultCursor() );
            JPanel filterPanel = new JPanel( new FlowLayout(FlowLayout.LEFT) );
                filterPanel.add( new JLabel("Filter: ") );
                filterPanel.add( filterField );
            getContentPane().add( filterPanel, BorderLayout.NORTH );
            getContentPane().add( scr, BorderLayout.CENTER);
            pack();
            setLocationRelativeTo(null);
            try {
                 setExtendedState(MAXIMIZED_BOTH);
            } catch(Exception e) {}
            setVisible(true);
        public static void main(String[] args) {
            new Trial();
    }Any ideas as to how performance (or percieved performance) can be improved would gladly be apprieciated.
    ICE

    I came to the conclusion that trying to improve the sort performance of TableRowSorter was almost an impossibilty. So I changed my approach from improvement of the actual sorting code to user perception of the process. And Hello, IndicatorRowSorter. This code will display a small window with the String "Searching" and an icon to indicate progress whiles filtering the table and disposes it onces filtering is complete.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    import javax.swing.table.*;
    * Provides valuable user feedback for the table filtering operation.
    Executes the sorting algorithm on a different thread so as not to block the EDT
    public class IndicatorRowSorter extends TableRowSorter {
        JTable table;
        JWindow sortProgressWin;
        public IndicatorRowSorter() {
            createSortProgressWindow();
        public IndicatorRowSorter(JTable table) {
            super( table.getModel() );
            this.table = table;
            createSortProgressWindow();
        public void createSortProgressWindow() {
            JLabel progressIndicator = new JLabel("Searching...",
                   new ImageIcon("resources/images/loadArrow.gif"), JLabel.LEFT );
                progressIndicator.setBackground(Color.white);
                progressIndicator.setOpaque(true);
                progressIndicator.setBorder( BorderFactory.createEmptyBorder(2,2,2,2) );
            sortProgressWin = new JWindow();
            sortProgressWin.getContentPane().add(progressIndicator);
            sortProgressWin.pack();
            sortProgressWin.setLocationRelativeTo(table);
        public void sort() {
            sortProgressWin.setVisible(true);
            Thread t = new Thread( new Runnable() {
                public void run() {
                    try {
                        IndicatorRowSorter.super.sort();                   
                        sortProgressWin.setVisible(false);
                    } catch(Exception e) {}
            t.start();
    }I got the idea from looking at some of the example from JDNC Incubator project down at java.net. Atleast with this solution, the crappy performance still remains, but the user percieves this as serious data manipulation.
    To get yourself a nice load progress icon, go down over to www.ajaxload.info. You can then replace the reference to the image used in the code above.
    To use it, just a single line of code is required.
    table.setRowSorter( new IndicatorRowSorter(table) );You can test this out with the Trial example posted above.
    ICE

  • MBP with 27" Display performance question

    I'm looking for advice regarding improving the performance, if possible, of my  Macbook Pro and new 27'' Apple display combination.  I'm using a 13" Macbook Pro 2.53Ghz with 4GB RAM, NVIDIA GeForce 9400M graphics card and I have 114GB of the 250GB of HD space available.  What I'm really wondering is is this enough spec to run the 27" display easily.  Apple says it is… and it does work, but I suspect that I'm working at the limit of what my MCB is capable of.  My main applications are Photoshop CS5 with Camera RAW and Bridge.  Everything works but I sometimes get lock ups and things are basically a bit jerky.  Is the bottle neck my 2.53Ghz processor or the graphics card?  I have experimented with the Open GL settings in Photoshop and tried closing all unused applications.  Does anyone have any suggestions for tuning things and is there a feasible upgrade for the graphics card if such a thing would make a difference?  I have recently started working with 21mb RAW files which I realise isn't helping.  Any thoughts would be appreciated.
    Matt.

    I just added a gorgeous LCD 24" to my MBP setup (the G5 is not Happy) The answer to your question is yes. Just go into Display Preferences and drag the menu bar over to the the 24 this will make the 24 the Primary Display and the MBP the secondary when connected.

Maybe you are looking for

  • How can I limit the number of emails retained on my ipad air?

    How can I limit the number of emails that are retained on my iPad Air?  Because of legal requirements of a long-term project, I cannot permanently delete emails relating to that project from my ISP's mail server.  My gmail account contains over 17,00

  • Install Windows 7 Pro 64bit on MacBook Pro 15" Mid 2014

    Trying to install Window 7 Pro on my new MacBook Pro 15" Mid 2014. I went through the following: Attempt 1: Downloading the latest bootcamp support drivers, copied on flash drive and used BCA for partitioning. Booting from Ext. DVD with USB pin drive

  • Indesign cs6 trial start problem

    I downloaded all files for the trial cs6, but could not see how to get the program running. I found the indesignservercs6.exe in my program files/adobe but clicking it does nothing. How do I get this running?

  • Lightroom 4 Post-Crop Vignetting.

    Hello, I have lightroom 4 on a Mac. In Develop mode > Effects > Post-Crop Vignetting the Highlights slider is greyed out. I have tried different priorities , all positions of the sliders. Any ideas? Thanks

  • Programming a User Interface

    Hi everyone! I apologize for posting this here - it may be completely off topic. To alleviate this problem, I'm offering the maximum number of Duke Points I can if anyone can provide an adequate answer. I hope that's okay. :) I'm going into internati