Verflüssigen Performance usw.

Moderator: Hoogo

wilson
Mitglied
Posts: 18
Joined: Wed 22 Jan 2014 12:43

Verflüssigen Performance usw.

Post by wilson » Fri 25 Nov 2016 14:26

Hallo,

ich bin ein neuer PhotoLine User (komme von Photoshop), und teste gerade ob PhotoLine für mich als Photoshop-Ersatz in Frage kommt.

Soweit gefällt mir das Programm sehr gut. Ich nutze relativ häufig das "Verflüssigen" Tool, und hier ist mir aufgefallen dass die Performance bei größerem Pinsel-Durchmesser doch sehr stark in die Knie geht, und zwar bedeutend mehr als das in Photoshop beim entsprechenden Tool der Fall ist. Schon bei einem 2K-Bild (und ich arbeite mit 8K-Texturen) und einem Pinseldurchmesser von 200 ist das Arbeiten nicht mehr flüssig, ab ca. 300 wird es dann so langsam dass die Funktion quasi unbenutzbar ist.

Ich weiß nicht wie realistisch es ist hier auf Updates zu hoffen, aber die Performance des erwähnten Tools könnte wirklich besser sein. Vielleicht sollte es ein separates Fenster mit automatisch reduzierter Auflösung geben in dem die Deformationen stattfinden, und erst nach Bestätigung auf die volle Auflösung hochgerechnet werden?

User avatar
Herbert123
Mitglied
Posts: 1859
Joined: Sat 12 May 2012 21:38

Re: Verflüssigen Performance usw.

Post by Herbert123 » Fri 25 Nov 2016 20:42

I tested this file: http://eoimages.gsfc.nasa.gov/images/im ... x10800.jpg

in both Photoshop CC 2017 and the Affinity Photo beta for comparison. It is indeed true that liquify in the other applications is pretty much smooth compared with this file, in particular Photoshop. In PhotoLine performance is very slow compared. Larger brushes ~1000px and above become unworkable for me, and remain butter smooth in Photoshop.

I think the other applications use some form of hardware acceleration or low-res estimation depending on the zoom, or both. In Photoshop the final result of Liquify takes a while to be applied, so I believe it uses a combination.

It might be that PhotoLine recalculates the entire image, while the other applications only update and work with the local areas that are worked on as well.
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait

Falaffel
Mitglied
Posts: 394
Joined: Sun 26 May 2013 12:33

Re: Verflüssigen Performance usw.

Post by Falaffel » Fri 25 Nov 2016 20:44

Ich finde die Vorschläge von Wissen gut, wie man das optimieren könnte.
Grüße
Robert

Martin Huber
Entwickler
Entwickler
Posts: 3538
Joined: Tue 19 Nov 2002 15:49

Re: Verflüssigen Performance usw.

Post by Martin Huber » Fri 25 Nov 2016 21:30

wilson wrote:Soweit gefällt mir das Programm sehr gut. Ich nutze relativ häufig das "Verflüssigen" Tool, und hier ist mir aufgefallen dass die Performance bei größerem Pinsel-Durchmesser doch sehr stark in die Knie geht, und zwar bedeutend mehr als das in Photoshop beim entsprechenden Tool der Fall ist. Schon bei einem 2K-Bild (und ich arbeite mit 8K-Texturen) und einem Pinseldurchmesser von 200 ist das Arbeiten nicht mehr flüssig, ab ca. 300 wird es dann so langsam dass die Funktion quasi unbenutzbar ist.
Das kann ich hier bei mir nicht nachvollziehen. Ich habe das mit einem 14 Megapixel-Bild und einem Pinsel mit Radius 250 ausprobiert. Meiner Ansicht nach ist das Verhalten flüssig. Ich kann PhotoLine etwas ins Stocken bringen, wenn ich sehr schnell mit der Maus fahre, aber mit dieser Mausgeschwindigkeit könnte ich auch nichts gezielt bearbeiten.

Sind deine obigen Pinselwerte wirklich Durchmesser oder Radien? Was ist die Pinsel-Schrittweite? Ist dein Dokument ein einfaches Bild oder sind da etliche Ebenen drin?
Und was für einen Prozessor hast du?
wilson wrote:Ich weiß nicht wie realistisch es ist hier auf Updates zu hoffen, aber die Performance des erwähnten Tools könnte wirklich besser sein. Vielleicht sollte es ein separates Fenster mit automatisch reduzierter Auflösung geben in dem die Deformationen stattfinden, und erst nach Bestätigung auf die volle Auflösung hochgerechnet werden?
Du kannst die Auflösung prinzipiell selbst reduzieren. Selektiere die Verflüssigen-Ebene, gehe auf "Ebene > Ebene skalieren" und skaliere die Ebene auf die halbe Größe. Am besten geht das mit dem Modus "Auflösung", indem du dort den halben dpi-Wert einträgst, weil in diesem Modus die Ebene ihre Größe im Dokument behält.

Martin

Martin Huber
Entwickler
Entwickler
Posts: 3538
Joined: Tue 19 Nov 2002 15:49

Re: Verflüssigen Performance usw.

Post by Martin Huber » Fri 25 Nov 2016 21:47

Herbert123 wrote:I tested this file: http://eoimages.gsfc.nasa.gov/images/im ... x10800.jpg
Well, yes, editing a 233 megapixel image might need working with a low-res version. The image alone consumes 700 MB, the Liquify mask 233 MB, and the displacement vectors of Liquify 1.8 GB.

But again, you can use a variation of the trick I noted above:
- Duplicate the layer.
- Hide the original.
- Scale the copy using "Layer > Scale Layer" (it's easiest to use "Resolution" mode, because this way the layer will keep its size).
- Liquify the copy.
- If you are ready with your editing, you can hide the copy and show the original.
Herbert123 wrote:It might be that PhotoLine recalculates the entire image, while the other applications only update and work with the local areas that are worked on as well.
No, PhotoLine doesn't recalculate the entire image. This would be way too slow.

Martin

User avatar
photoken
Mitglied
Posts: 2162
Joined: Sat 28 Sep 2013 01:25

Re: Verflüssigen Performance usw.

Post by photoken » Fri 25 Nov 2016 22:46

Herbert123 wrote:I tested this file: http://eoimages.gsfc.nasa.gov/images/im ... x10800.jpg
(...)
In PhotoLine performance is very slow compared. Larger brushes ~1000px and above become unworkable for me, and remain butter smooth in Photoshop.
I think much depends on the hardware and OS setup.

I tested that image using a brush size of 1,766px, and Liquify remained very much useable. Not smooth, but moving the brush slowly updated the distortions and allowed me to see what I was doing very nicely.

This is on Win10 x64, PL20 x64, with 16Gb of RAM....
Ken
Yes, I think it can be eeeeeasily done....
Just take everything out on Highway 61.

User avatar
Herbert123
Mitglied
Posts: 1859
Joined: Sat 12 May 2012 21:38

Re: Verflüssigen Performance usw.

Post by Herbert123 » Sat 26 Nov 2016 01:23

Martin Huber wrote:
Herbert123 wrote:I tested this file: http://eoimages.gsfc.nasa.gov/images/im ... x10800.jpg
Well, yes, editing a 233 megapixel image might need working with a low-res version. The image alone consumes 800 MB, the Liquify mask 233 MB, and the displacement vectors of Liquify 1.8 GB.

But again, you can use a variation of the trick I noted above:
- Duplicate the layer.
- Hide the original.
- Scale the copy using "Layer > Scale Layer" (it's easiest to use "Resolution" mode, because this way the layer will keep its size).
- Liquify the copy.
- If you are ready with your editing, you can hide the copy and show the original.
Herbert123 wrote:It might be that PhotoLine recalculates the entire image, while the other applications only update and work with the local areas that are worked on as well.
No, PhotoLine doesn't recalculate the entire image. This would be way too slow.

Martin
I think I found a quicker method:
1) add a liquify layer
2) select that liquify layer, and use <ALT><S> Layer-->Scale Layer, Resolution Mode (just as Martin suggests). Scale down to 20ppi.
3) turn off anti-aliasing first. It really slows things down at these resolutions.
4) liquify is pretty fast now.
5) when done, turn on anti-aliasing, and scale back up to a higher or the original resolution.

Why that last step? Because I found that a lower resolution Liquify layer has a potentially severe negative impact on the quality - in particular around small details and edges. Up-scaling mitigates this for the most part. It would be nice if we had a method to blur the actual deformation vectors somehow afterwards.

I found I can go as low as 4ppi, have butter smooth performance, and then scale up to the original's 120ppi. The quality is good.

One bug I discovered: when I do this, zooming in and out, and panning the view results in a distorted view.

And anti-aliasing does have a substantial impact on performance as well, so make sure to turn that off for higher resolution images.
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait

User avatar
Herbert123
Mitglied
Posts: 1859
Joined: Sat 12 May 2012 21:38

Re: Verflüssigen Performance usw.

Post by Herbert123 » Sat 26 Nov 2016 01:36

photoken wrote:
Herbert123 wrote:I tested this file: http://eoimages.gsfc.nasa.gov/images/im ... x10800.jpg
(...)
In PhotoLine performance is very slow compared. Larger brushes ~1000px and above become unworkable for me, and remain butter smooth in Photoshop.
I think much depends on the hardware and OS setup.

I tested that image using a brush size of 1,766px, and Liquify remained very much useable. Not smooth, but moving the brush slowly updated the distortions and allowed me to see what I was doing very nicely.

This is on Win10 x64, PL20 x64, with 16Gb of RAM....
I have 48GB and a 3.6GHZ i7 CPU - but I did notice earlier, after my first post, that I had anti-aliasing turned on, and that really bogged down things (which is to be expected).

After my experimenting with low ppi liquify layers, my hypothesis is that Photoshop probably uses a lower resolution mesh as well a OpenGL flat mesh onto which the image is projected - which means the GPU can be utilized effectively. The fact is that Liquify is BUTTER SMOOTH no matter the resolution of the image.
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait

User avatar
Herbert123
Mitglied
Posts: 1859
Joined: Sat 12 May 2012 21:38

Re: Verflüssigen Performance usw.

Post by Herbert123 » Sat 26 Nov 2016 01:41

Martin Huber wrote:
Herbert123 wrote:It might be that PhotoLine recalculates the entire image, while the other applications only update and work with the local areas that are worked on as well.
No, PhotoLine doesn't recalculate the entire image. This would be way too slow.

Martin
Martin, I am experiencing weird performance problems when I add a Liquify layer to the world map image, then scale the Liquify layer down to 5ppi, and zoom into a continent and use the forward warp or any of the other tools.

The more I zoom in, the slower PhotoLine becomes - ALL of PhotoLine. When I zoom out completely, performance is restored. Weird. Everything slows down when working zoomed in - but normal speed when zoomed out?
/*---------------------------------------------*/
System: Win10 64bit - i7 920@3.6Ghz, p6t Deluxe v1, 48gb (6x8gb RipjawsX), Nvidia GTX1080 8GB, Revodrive X2 240gb, e-mu 1820, 2XSamsung SA850 (2560*1440) and 1XHP2408H 1920*1200 portrait

wilson
Mitglied
Posts: 18
Joined: Wed 22 Jan 2014 12:43

Re: Verflüssigen Performance usw.

Post by wilson » Wed 14 Dec 2016 18:48

Martin Huber wrote:
wilson wrote:Soweit gefällt mir das Programm sehr gut. Ich nutze relativ häufig das "Verflüssigen" Tool, und hier ist mir aufgefallen dass die Performance bei größerem Pinsel-Durchmesser doch sehr stark in die Knie geht, und zwar bedeutend mehr als das in Photoshop beim entsprechenden Tool der Fall ist. Schon bei einem 2K-Bild (und ich arbeite mit 8K-Texturen) und einem Pinseldurchmesser von 200 ist das Arbeiten nicht mehr flüssig, ab ca. 300 wird es dann so langsam dass die Funktion quasi unbenutzbar ist.
Das kann ich hier bei mir nicht nachvollziehen. Ich habe das mit einem 14 Megapixel-Bild und einem Pinsel mit Radius 250 ausprobiert. Meiner Ansicht nach ist das Verhalten flüssig. Ich kann PhotoLine etwas ins Stocken bringen, wenn ich sehr schnell mit der Maus fahre, aber mit dieser Mausgeschwindigkeit könnte ich auch nichts gezielt bearbeiten.

Sind deine obigen Pinselwerte wirklich Durchmesser oder Radien? Was ist die Pinsel-Schrittweite? Ist dein Dokument ein einfaches Bild oder sind da etliche Ebenen drin?
Und was für einen Prozessor hast du?
wilson wrote:Ich weiß nicht wie realistisch es ist hier auf Updates zu hoffen, aber die Performance des erwähnten Tools könnte wirklich besser sein. Vielleicht sollte es ein separates Fenster mit automatisch reduzierter Auflösung geben in dem die Deformationen stattfinden, und erst nach Bestätigung auf die volle Auflösung hochgerechnet werden?
Du kannst die Auflösung prinzipiell selbst reduzieren. Selektiere die Verflüssigen-Ebene, gehe auf "Ebene > Ebene skalieren" und skaliere die Ebene auf die halbe Größe. Am besten geht das mit dem Modus "Auflösung", indem du dort den halben dpi-Wert einträgst, weil in diesem Modus die Ebene ihre Größe im Dokument behält.

Martin
Prozessor ist ein Core i7 3770k. Nicht mehr aktuell, klar, tut aber wenig zur Sache da die Verflüssigen-Funktion in Photoshop und Affinity Photo auf demselben PC viel performanter ist.

Ich habe nochmal einen Vergleichstest gemacht (gleiches Bild, ungefähr gleiche Pinselgröße im Verhältnis zum Bild, derselbe PC) mit Photoline vs. Affinity Photo 1.5.

Während die Deformation in Affinity Photo in Echtzeit stattfindet (Deformation sofort mit dem Klick) benötigt Photoline etwa 2-3 Sekunden bis nach dem Maus- bzw. Stift-Klick etwas auf dem Bild passiert.

Bei noch größerem Pinseldurchmesser (etwa doppelte Größe als vorher) braucht Photoline mitunter 6 Sekunden bis 1 Minute (!), bis nach dem Klick die tatsächliche Deformation angezeigt wird, abhängig aus irgendeinem Grund von der Schnelligkeit der Pinselbewegung (Geschwindigkeit der Pinselbewegung hat bei Affinity Photo keinerlei Einfluss).

Martin Huber
Entwickler
Entwickler
Posts: 3538
Joined: Tue 19 Nov 2002 15:49

Re: Verflüssigen Performance usw.

Post by Martin Huber » Wed 14 Dec 2016 19:20

wilson wrote:Prozessor ist ein Core i7 3770k. Nicht mehr aktuell, klar, tut aber wenig zur Sache da die Verflüssigen-Funktion in Photoshop und Affinity Photo auf demselben PC viel performanter ist.
Am Prozessor sollte das nicht liegen. Bei mir funktioniert - wie gesagt - Verflüssigen mit größeren Bilder in Echtzeit (und mein Prozessor ist langsamer :-) ). Wenn du nicht eine sehr kleine Pinselschrittweite eingestellt hast, sollte das keine Probleme geben.
Wobei du bisher noch nicht gesagt hast, ob deine Pinselgrößen im ersten Beitrag wirklich Durchmesser sind (denn dann wären deine Pinsel eher klein) oder Radien.

Kannst du uns an support@pl32.de ein Beispieldokument inklusive Verflüssigungsebene schicken?

Martin