RSS/Atom feed Twitter
Site is read-only, email is disabled

Fast paths and bug 592106

This discussion is connected to the gegl-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

4 of 4 messages available
Toggle history

Please log in to manage your subscriptions.

Fast paths and bug 592106 Debarshi Ray 13 Mar 10:53
  Fast paths and bug 592106 Nicolas Robidoux 13 Mar 11:36
   Fast paths and bug 592106 Daniel Sabo 16 Mar 23:26
    Fast paths and bug 592106 Nicolas Robidoux 17 Mar 07:34
Debarshi Ray
2014-03-13 10:53:05 UTC (over 10 years ago)

Fast paths and bug 592106

Hello everybody,

Five years ago when I first played a bit with GEGL I wrote a fast path for axis aligned reflection [1] with some help from pippin. It appears to me from the bug report that there has been some discussion on this topic after that, which led to the fast path being removed [2].

However now that I am again using GEGL in an application [3], I find that things axis aligned reflection, and rotation by multiples of 90 degrees are still as slow as they were before. After a chat with pippin on IRC a month or two ago, he seemed to be of the opinion that fast paths are the way to go (among a few other things), and he was not sure why the one I wrote was removed in the first place.

So, what is the current plan on improving the performance of GEGL for applications that are relatively simpler than GIMP?

Cheers, Debarshi

[1] https://bugzilla.gnome.org/show_bug.cgi?id=592106 [2] Commits 17c89c9938b4043bb77e86724e8ee8f63cb2b7b4 and ce089b3600f9882c568c4229eb3e7076d23c56ce [3] https://wiki.gnome.org/Apps/Photos

Wearing non-prescription glasses and embracing obscurity doesn't
necessarily make you a hipster.  -- Anonymous
Nicolas Robidoux
2014-03-13 11:36:17 UTC (over 10 years ago)

Fast paths and bug 592106

I stand by Comments 6 and 7 of [1].

Summary: The only way I can see fast paths working well without very very intricate programming (including round off error tracking etc) and without making the image "jump" in some situations is to make absolutely sure that the branching to the fast path occurs at a high enough level that any generic tool that can perform something which is "almost but not quite" the operation that the fast path performs never follows the fast path.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=592106

Daniel Sabo
2014-03-16 23:26:00 UTC (over 10 years ago)

Fast paths and bug 592106

I agree with comment 6 about snapping. Maybe it makes sense to have separate operations that provide fast fip/mirror functions, since those should always be pixel exact operations?

On Thu, Mar 13, 2014 at 4:36 AM, Nicolas Robidoux wrote:

I stand by Comments 6 and 7 of [1].

Summary: The only way I can see fast paths working well without very very intricate programming (including round off error tracking etc) and without making the image "jump" in some situations is to make absolutely sure that the branching to the fast path occurs at a high enough level that any generic tool that can perform something which is "almost but not quite" the operation that the fast path performs never follows the fast path.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=592106

_______________________________________________ gegl-developer-list mailing list
List address: gegl-developer-list@gnome.org List membership: https://mail.gnome.org/mailman/listinfo/gegl-developer-list

Nicolas Robidoux
2014-03-17 07:34:25 UTC (over 10 years ago)

Fast paths and bug 592106

Note: The current nohalo sampler is interpolatory. So are nearest neighbour, bilinear, and Lanczos. What this means is that if such samplers are combined with fast paths, AND the arithmetic is spotless, there would not be a "jump".

lohalo, which basically is an improved Mitchell-Netravali bicubic, is not interpolatory. (The only Keys cubic that is interpolatory is Catmull-Rom. Some people, e.g. Mathias Rauen of madVR fame, like non-Keys bicubics. But most people stick to Keys.)