<?xml version="1.0" ?>

<kc>

<title>Gimp Traffic</title>

<author contact="mailto:alexh@dowco.com">Alex Harford</author>

<translator contact="mailto:"></translator>

<issue num="23" date="19 Jun 2000 00:00:00 -0800" />

<stats posts="99" size="310" contrib="52" multiples="16" lastweek="10">

<person posts="11" size="36" who="Marc Lehmann &lt;pcg@goof.com&gt;" />
<person posts="8" size="27" who="Sven Neumann &lt;neumanns@uni-duesseldorf.de&gt;" />
<person posts="6" size="16" who="Jon Winters &lt;winters@obscurasite.com&gt;" />
<person posts="5" size="14" who="egger@suse.de" />
<person posts="5" size="14" who="Marco Lamberto &lt;lm@geocities.com&gt;" />
<person posts="4" size="12" who="pixel fairy &lt;pixelfairy@yahoo.com&gt;" />
<person posts="4" size="12" who="FUJITA Yuji &lt;yuji@wl.me.titech.ac.jp&gt;" />
<person posts="3" size="9" who="Austin Donnelly &lt;austin@gimp.org&gt;" />
<person posts="3" size="8" who="Gunjan Kapoor &lt;gkapoor@cmie.com&gt;" />
<person posts="2" size="9" who="quinet@gamers.org (Raphael Quinet)" />
<person posts="2" size="7" who="Marc D. Spencer &lt;marcs@pobox.com&gt;" />
<person posts="2" size="7" who="Robert L Krawitz &lt;rlk@alum.mit.edu&gt;" />
<person posts="2" size="6" who="Seth Burgess &lt;sjburges@gimp.org&gt;" />
<person posts="2" size="6" who="Kevin Turner &lt;acapnotic@users.sourceforge.net&gt;" />
<person posts="2" size="5" who="Nick Lamb &lt;njl98r@ecs.soton.ac.uk&gt;" />
<person posts="2" size="4" who="Fethi BELGHAOUTI &lt;fethi_bel@yahoo.fr&gt;" />
<person posts="1" size="8" who="Hans Breuer &lt;hans@Breuer.org&gt;" />
<person posts="1" size="4" who="Hyperborean &lt;hyperborean@mail.ru&gt;" />
<person posts="1" size="4" who="Simon Budig &lt;Simon.Budig@unix-ag.uni-siegen.de&gt;" />
<person posts="1" size="4" who="Tor Lillqvist &lt;tml@iki.fi&gt;" />
<person posts="1" size="4" who="Daniele Medri &lt;madrid@linux.it&gt;" />
<person posts="1" size="4" who="Aaron &lt;aaronn@btinternet.com&gt;" />
<person posts="1" size="3" who="&lt;gimp@staff.racalinternet.co.uk&gt;" />
<person posts="1" size="3" who="Kevin Cozens &lt;kcozens@interlog.com&gt;" />
<person posts="1" size="3" who="famrom@idecnet.com (Guillermo S. Romero / Familia Romero)" />
<person posts="1" size="3" who="Tuomas Kuosmanen &lt;tigert@gimp.org&gt;" />
<person posts="1" size="3" who="Tom Rathborne &lt;tomr@aceldama.com&gt;" />
<person posts="1" size="3" who="Piers Cornwell &lt;piers.cornwell@usa.net&gt;" />
<person posts="1" size="3" who="Sven.Neumann@rz.uni-duesseldorf.de (Sven Neumann)" />
<person posts="1" size="3" who="fog@mixadlive.com (Federico Di Gregorio)" />
<person posts="1" size="3" who="Carey Bunks &lt;cbunks@bbn.com&gt;" />
<person posts="1" size="2" who="&lt;Fabian.Frederick@prov-liege.be&gt;" />
<person posts="1" size="2" who="Nils Philippsen &lt;nils@wombat.dialup.fht-esslingen.de&gt;" />
<person posts="1" size="2" who="Sri Ramkrishna &lt;sri@aracnet.com&gt;" />
<person posts="1" size="2" who="Calvin Williamson &lt;calvinw@mindspring.com&gt;" />
<person posts="1" size="2" who="Nick Matsakis &lt;matsakis@merl.com&gt;" />
<person posts="1" size="2" who="Christopher W. Curtis &lt;ccurtis@aet-usa.com&gt;" />
<person posts="1" size="2" who="Adrian Likins &lt;alikins@redhat.com&gt;" />
<person posts="1" size="2" who="Adam D. Moss &lt;adam@gimp.org&gt;" />
<person posts="1" size="2" who="Garrett LeSage &lt;garrett@linux.com&gt;" />
<person posts="1" size="2" who="Paul Grenier &lt;paul@ashtonservices.com&gt;" />
<person posts="1" size="2" who="Jarda Benkovsky &lt;pvt.benkovsk@pvtnet.cz&gt;"/>
<person posts="1" size="2" who="Garry R. Osgood &lt;gosgood@idt.net&gt;" />
<person posts="1" size="2" who="Peter Kirchgessner &lt;peter@kirchgessner.net&gt;" />
<person posts="1" size="2" who="Alan Cox &lt;alan@redhat.com&gt;" />
<person posts="1" size="2" who="Marco Lamberto &lt;ml568366@silab.dsi.unimi.it&gt;" />
<person posts="1" size="2" who="Avi Bercovich &lt;bercovic@swi.psy.uva.nl&gt;" />
<person posts="1" size="2" who="Jens-Reimer@t-online.de" />
<person posts="1" size="2" who="Andreas Haack &lt;ahaack@bigfoot.com&gt;" />
<person posts="1" size="2" who="Roberto Marabini &lt;roberto@cnb.uam.es&gt;" />

</stats>

<section
  title="Gimp vs. Photoshop Performance"
  subject="Performance of Gimp vs. photoshop for large images (fwd)"
  archive=""
  posts="11"
  startdate="06 Jun 2000 00:00:00 -0800"
  enddate="07 Jun 2000 00:00:00 -0800"
>

<mention></mention>

<p>Jon Winters forwarded this question from the Gimp User Mailing List in the hopes of getting more answers:</p>

<quote who="Jon Winters">

<p>Yesturday I requested that our friend send me a copy of his image so that
I could try the test on my computer at work. (PIII 400 128MB, Matrox G400,
WinNT)</p>

<p>I chose to test with levels because I adjust levels or curves on almost
every image I edit.</p>

<p>In Photoshop (v5.0) the redraw after letting go of one of the levels
sliders was less than two seconds.  (default 'out of the box' photoshop
configuration)</p>

<p>In the gimp I was surprised that the performance is indeed terrible.  With
the tile cache set to 72MB it took 40 seconds.  With the tile cache set to
96MB it took 16 seconds.  Moving the tile cache to 128MB (on this 128MB
machine) knocked it down to 11 seconds.</p>

<p>Is there some other configuration that I am missing?</p>

</quote>

<p>Someone noted that the latest CVS version of the Gimp turns off the pre-vue of pixels that aren't visible.  Jon's performance improved because of this, and the time is now down to 4 seconds.</p>

</section>

<section
  title="Changing the Undo Stack"
  subject="The undo stack does not record some changes in layer attributes"
  archive=""
  posts="7"
  startdate="06 Jun 2000 00:00:00 -0800"
  enddate="09 Jun 2000 00:00:00 -0800"
>

<mention>Sven Neumann </mention>
<mention></mention>

<p>Raphael Quinet writes:</p>

<quote who="Raphael Quinet">

<p>I re-discovered an old problem with these scripts: some operations on
the layers are not recorded on the undo stack.  If I am not mistaken,
these operations are:<br />
- toggling the visibility of a layer,<br />
- toggling its "preserve trans." flag,<br />
- changing its opacity.<br />
This has annoyed me a couple of times when working on some images by
hand, but now the problem is more visible with the "Alpha to Logo"
scripts that are undo-aware.</p>

<p>Some of these scripts set the "preserve trans." flag on the original
layer and apply some operations to it.  If you undo the operations,
you get back to the original image except that the flag is still set.
Running the same script or another script on the image can give a
different result than before, because of this flag.  Some other
scripts toggle the visibility of the layer and keep it in the final
image.  If you undo the script, you are back to the original image
except that the layer is now invisible.  This is not what you would
expect from the "undo" operation...</p>

<p>So I have two questions:<br />
- Is there any reason why these three operations are not put on the
  undo stack?<br />
  - If there is no good reason for that, could someone tell me how to
    change the code so that it is possible to undo these operations?</p>

</quote>

<p>Austin Donnelly had some suggestions for Raphael, and asked the list if
<quote who="Austin Donnelly">Anyone else want to comment at this stage?  As a user, would _you_ get
confused when you hit undo and all that changes is (eg) the layer
opacity?</quote></p>

<p>And Sven Neumann replied that</p>

<quote who="Sven Neumann">

<p>I would be very unhappy if changing the layer opacity from 100% to 50%
would eat up a dozen or more undo-steps since each value_changed signal
from the slider triggers an undo which causes another undo-step fall
off the end of the undo queue.</p>

<p>We could think about merging consecutive undo steps into one, but this
wouldn't work well for paintstrokes for example. Another possibility
would be to take only those undo-steps into account that save tiles.
All other undo operations should consume so little memory that they
can be safely ignored.</p>

</quote>

<p>Austin agreed with Sven, saying</p>

<quote who="Austin Donnelly">

<p>Oh, sure - that's clearly a bad idea.</p>

<p>I was thinking of only pushing the undo when you release the slider.
That doesn't help those using the keyboard to nudge the slider though.</p>

<p>This could be done by pushing a group start on mouse down, and closing
it on mouse up, for example.</p>

</quote>

<p>Sven posted some example code, but emphasized that
<quote who="Sven Neumann">I still believe that it is a bad idea to waste undo steps for operations
that don't save any shadow tiles. How hard would it be to change the
undo system so that the number of undo steps is calculated only from
"real" undos? What about the idea of merging consecutive changes to the
layer attributes into one?</quote></p>

<p>Tom Rathborne agreed.</p>

<quote who="Tom Rathborne">

<p>If I'm on a machine with limited resources and have the GIMP
set up for only, say, 8 levels of undo, I don't want to lose the
ability to undo image changes just because I toggle a few layers on
and off.</p>

<p>The undo history dialog should probably note which actions count as
"undo levels" and which don't. Also, it would be nice to be able to
force a tile-changing undo (e.g. with Ctrl-Shift-Z) ... if you do 30
layer moves/visbility changes then you probably don't want to have to
hit Ctrl-Z 30 times just to undo your last pixel change. The undo
history dialog helps with this but I'm not sure I want to have it up
all the time.</p>

</quote>

<p>Several other people had some ideas, and it was decided that changes to the
Undo system will have to wait until Gimp 2.0.  There are some new ideas for the
Undo stack like micro/macro undo where Ctrl-Z will undo the last brush stroke,
and Ctrl-Shift-Z will undo all of the brush strokes since a Tool change.</p>

</section>

<section
title="Animation Effects"
subject="animation tweens"
archive=""
posts="3"
startdate="12 Jun 2000 00:00:00 -0800"
enddate="14 Jun 2000 00:00:00 -0800"
>

<mention></mention>

<p>Jon Winters posted a query for the Gimp Developers:</p>

<quote who="Jon Winters">

<p>I was teaching a friend of mine how to save .gif anims with the GIMP the
other day.  Its easy to do some pretty cool stuff but the lesson left me
wondering about a possible feature.</p>

<p>Would it be possible to add "tweening" simmilar to what Macromedia
fireworks has.</p>

<p>Basicly you have two layers and you can tell gimp to morph from one to
the next in the animation over N amount of frames.  Might also be cool
if we had a menu of transition effects for use in animations.  Fades,
Wipes, etc...</p>

</quote>

<p>Kevin Turner mentioned that</p>

<quote who="Kevin Turner">

<p>Xmorph can be used as a GIMP plug-in.</p>

<p>http://www.colorado-research.com/~gourlay/software/Graphics/Xmorph/</p>

<p>For bonus points, go and port this great program to a Real Toolkit ;)</p>

</quote>

</section>

</kc>
