Re: [Gimp-developer] Layers and possible space for performance improvement in GIMP
On 08/12/2009 06:04 PM, SHIRAKAWA Akira wrote: > Hello, > > A few days ago I was trying out Adobe Photoshop CS4 under my OS, Windows > 7 RC 64 bit, and although I prefer using GIMP even though it lacks > some very useful features, I was surprised at one thing in particular: > its speed when many layers are used (20-25+, and on very complex works I > often use even more). On Photoshop CS4 layers refresh almost instantly, > new ones are created with about the same speed, and there are generally > no graphic slowdowns on complex works. They have a really good implementation, and I suspect they make heavy use of mipmaps. For example, painting with a 500x brush on a 1x1 image when zoomed out is very snappy, and I don't see how they could do that without doing tricks with mipmap levels. Regarding automatically managing the size of layers, I totally agree that GIMP should do that boring work for the user, that's not something a user should have to worry about. / Martin -- My GIMP Blog: http://www.chromecode.com/ ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Layers and possible space for performance improvement in GIMP
Hi, On Wed, 2009-08-12 at 18:04 +0200, SHIRAKAWA Akira wrote: > (note that I'm using an Intel Core 2 > Duo 3.16 Ghz E8500 processor with 4 GB RAM). How is your tile-cache size configured? If it is still at the default value of 1GB, then you are not making best use of your hardware and its not surprising that GIMP becomes slow with large images and many layers. Please do also check the image memory size (in the Image Properties dialog) for your example image. > What I wonder is if GIMP could someday get advantage dynamically, > automatically and in a transparent manner to the user of autocropping > extra borders from layers (without manual intervention) in order improve > performance when large canvases and many layers (the normality in > creative works, not so much when only retouching photos) are used. > > For example, the user would create a 3500x2500 pixels new layer, but if > he drew only in a small 100x200 pixels area, then the program would > internally save and process only that area, while still allowing the > user to draw outside of it (the layer extents would be automatically and > transparently increased). > > What do you think about this proposition? Sure, that is on the roadmap with GEGL. Empty tiles don't need to be represented in memory. They can be represented by special empty tiles that have a color property but no pixel data. Sven ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Layers and possible space for performance improvement in GIMP
Michael Schumacher wrote: > There's a long discussion about this in > http://bugzilla.gnome.org/show_bug.cgi?id=93639 > I'm not sure how much of this will change within a GEGL tree, so parts of > this discussion could already be obsolete. Ah, thanks for linking that discussion. So this was already being discussed many years ago. My opinion is that when layer groups will be implemented (from what I understand, they will be soon as it's a very requested feature), layer usage will be going up since it will be easier to manage them, and a better, more efficient way to internally manage layer boundaries will be needed in order to keep good performance. I understand that layer boundaries are needed for many uses. I think too that they shouldn't go away completely, but they could be still retained if some sort of transparent "effective layer boundary auto-growing" feature is ever implemented into GIMP. Layer boundaries could simply be the internal auto-growing limits of the layer. Also, the whole auto-growing process wouldn't affect export functions or scripts which rely on boundaries, only on-screen drawing performance, as long as unused borders are transparent. -- SHIRAKAWA Akira ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
Re: [Gimp-developer] Layers and possible space for performance improvement in GIMP
> Von: SHIRAKAWA Akira > What I wonder is if GIMP could someday get advantage dynamically, > automatically and in a transparent manner to the user of autocropping > extra borders from layers (without manual intervention) in order improve > performance when large canvases and many layers (the normality in > creative works, not so much when only retouching photos) are used. There's a long discussion about this in http://bugzilla.gnome.org/show_bug.cgi?id=93639 I'm not sure how much of this will change within a GEGL tree, so parts of this discussion could already be obsolete. Michael -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer
[Gimp-developer] Layers and possible space for performance improvement in GIMP
Hello, A few days ago I was trying out Adobe Photoshop CS4 under my OS, Windows 7 RC 64 bit, and although I prefer using GIMP even though it lacks some very useful features, I was surprised at one thing in particular: its speed when many layers are used (20-25+, and on very complex works I often use even more). On Photoshop CS4 layers refresh almost instantly, new ones are created with about the same speed, and there are generally no graphic slowdowns on complex works. At some point I tried to save my work done under Photoshop and import it in GIMP. I discovered that all layers were cropped to their maximum extents (empty borders taken out). I thought that this could be one of the main reasons why Photoshop is faster when many layers are used: since unused borders are taken out, there's less to redraw to the screen each time or to check out for transparency. I'm not sure though if this is done by GIMP during the import process or in a transparent way (when a new layer is created it's assumed that it will cover the whole canvas) automatically in Photoshop, though. To verify my claim I tried to make a similarly complex, multilayered work natively under GIMP 2.6.6 (canvas size A4, 300 dpi, about 3500x2500 pixels) until at some point I reached about 25 different layers. Of course the program was still usable, but some slowdown was evident especially when toggling layer visibility (operation which took a while to complete). I then applied my so-called "Photoshop optimization" by autocropping all layers (Menu Layer>Autocrop), and working speed went up noticeably, though not dramatically (note that I'm using an Intel Core 2 Duo 3.16 Ghz E8500 processor with 4 GB RAM). What I wonder is if GIMP could someday get advantage dynamically, automatically and in a transparent manner to the user of autocropping extra borders from layers (without manual intervention) in order improve performance when large canvases and many layers (the normality in creative works, not so much when only retouching photos) are used. For example, the user would create a 3500x2500 pixels new layer, but if he drew only in a small 100x200 pixels area, then the program would internally save and process only that area, while still allowing the user to draw outside of it (the layer extents would be automatically and transparently increased). What do you think about this proposition? -- SHIRAKAWA Akira ___ Gimp-developer mailing list Gimp-developer@lists.XCF.Berkeley.EDU https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer