Oh, and if there are no objections to this design, we should create a JIRA ticket for it so we can track it. If PNG painting is really that slow in a fair number of graphics implementations, we might even consider getting this in for 1.2...
-T On Sun, May 24, 2009 at 7:31 PM, Todd Volkert <[email protected]> wrote: > This implies that ImageViewSkin should do the background painting to > the BufferedImage and cache the resulting buffered image so that it > can use it in its paint() method. It's update the buffered image when > it received an ImageEvent on the image or a notification from the > ImageView that its image reference changed. Just talking this out to > make sure I'm picturing the same thing you're picturing... > > -T > > On Sun, May 24, 2009 at 9:18 AM, Noel Grandin <[email protected]> wrote: >> depending on the machine and the graphics driver, you can sometimes >> have wildly varying results if you don't feed the right BufferedImage >> format to the graphics pipeline. >> Typically, each graphics driver has a preferred format (normally 8 bit >> RGBA these days). >> But sometimes it want RGB or BGR, and it the image is in the "wrong" >> format, it can slow things down. >> >> The best approach is to ask the pipeline what image format is wants, >> create a BufferedImage of that format, render you background image to >> the BufferedImage, and then render your BufferedImage to the screen on >> a repaint. >> >> Regards, Noel. >> >> On Sun, May 24, 2009 at 01:53, Greg Brown <[email protected]> wrote: >>> Sorry - more specifically, those are the timings for painting the dirty >>> region when dragging the Alert around the screen in the modified Stack >>> Panes tutorial. >>> >>> On Saturday, May 23, 2009, at 06:51PM, "Greg Brown" <[email protected]> wrote: >>>>That's very interesting. I tried removing the alpha channel from the PNG, >>>>but that didn't help. cc'ing the dev list - PNG as a background image >>>>causes noticeable repaint delays, but a JPEG doesn't (see below). Anyone >>>>have any ideas? >>>> >>>>On Saturday, May 23, 2009, at 03:42PM, "Edgar Merino" <[email protected]> >>>>wrote: >>>>>Thanks for the suggestions, I tried running the StackPanes demo, and >>>>>noticed it didn't suffered from such a performance bottleneck, I noticed >>>>>the background image was a jpg, I'm currently using a png for the >>>>>background, so tried the demo with my image (800x600) and the >>>>>performance problem arised again. After I changed the format of my >>>>>background to jpg everything went fine. So I can confirm the problem >>>>>happens (at least) with png images. Attached is a copy of my background >>>>>image (in both png and jpg). >>>>> >>>>>Thanks for the help again! >>>>>Edgar Merino >>>>> >>>>> >>>>>Todd Volkert escribió: >>>>>> I guess I'll add: >>>>>> >>>>>> - Are you running inside a VM? If so, which virtualization software >>>>>> and version? >>>>>> >>>>>> -T >>>>>> >>>>>> On Sat, May 23, 2009 at 9:05 AM, Greg Brown <[email protected]> wrote: >>>>>> >>>>>>> Hi Edgar, >>>>>>> >>>>>>> I just added the following code to the stack panes demo >>>>>>> (pivot.tutorials.layout.StackPanes): >>>>>>> >>>>>>> Alert.alert("Hello, World!", display); >>>>>>> >>>>>>> I added it to the startup() method, right after the line that opens the >>>>>>> window (line 32). I didn't notice any performance issues - can you try >>>>>>> the same test and let us know what behavior you get? >>>>>>> >>>>>>> Also, can you let us know: >>>>>>> - How big is the background image (in pixels)? >>>>>>> - What were the display dimensions of the window containing the scaled >>>>>>> image when you noticed the problem? >>>>>>> - What OS are you running? >>>>>>> - What JVM version/vendor? >>>>>>> - How much main memory does your system have, and how much video memory? >>>>>>> - How much memory did you allocate to the JVM process? >>>>>>> >>>>>>> Thanks, >>>>>>> Greg >>>>>>> >>>>>>> On Friday, May 22, 2009, at 10:39PM, "Edgar Merino" >>>>>>> <[email protected]> wrote: >>>>>>> >>>>>>>> Hello, >>>>>>>> >>>>>>>> I recently discovered pivot, currently using svn revision 777773. >>>>>>>> I've got an application where I would like to place a fixed image >>>>>>>> background (although it'll have to be scaled each time the window is >>>>>>>> resized). I've tried placing the background by putting all the >>>>>>>> components inside a StackPane, however performance drops terrible if I >>>>>>>> do it this way (all the other components in the stack move slow, e.g. >>>>>>>> Prompts and Frames). Is there any other way to do what I need without >>>>>>>> suffering from such a terrible performance bottleneck? >>>>>>>> >>>>>>>> Thanks in advance, >>>>>>>> Edgar Merino >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>> >>>> >>> >> >
