Verflüssigen Performance usw.

wilson
Mitglied
Beiträge: 40
Registriert: Mi 22 Jan 2014 12:43

Verflüssigen Performance usw.

Beitrag von wilson »

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?
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2140
Registriert: Sa 12 Mai 2012 21:38

Re: Verflüssigen Performance usw.

Beitrag von Herbert123 »

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
Beiträge: 397
Registriert: So 26 Mai 2013 12:33

Re: Verflüssigen Performance usw.

Beitrag von Falaffel »

Ich finde die Vorschläge von Wissen gut, wie man das optimieren könnte.
Grüße
Robert
Martin Huber
Entwickler
Entwickler
Beiträge: 4159
Registriert: Di 19 Nov 2002 15:49

Re: Verflüssigen Performance usw.

Beitrag von Martin Huber »

wilson hat geschrieben: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 hat geschrieben: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
Beiträge: 4159
Registriert: Di 19 Nov 2002 15:49

Re: Verflüssigen Performance usw.

Beitrag von Martin Huber »

Herbert123 hat geschrieben: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 hat geschrieben: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
Benutzeravatar
photoken
Mitglied
Beiträge: 2162
Registriert: Sa 28 Sep 2013 01:25

Re: Verflüssigen Performance usw.

Beitrag von photoken »

Herbert123 hat geschrieben: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.
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2140
Registriert: Sa 12 Mai 2012 21:38

Re: Verflüssigen Performance usw.

Beitrag von Herbert123 »

Martin Huber hat geschrieben:
Herbert123 hat geschrieben: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 hat geschrieben: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
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2140
Registriert: Sa 12 Mai 2012 21:38

Re: Verflüssigen Performance usw.

Beitrag von Herbert123 »

photoken hat geschrieben:
Herbert123 hat geschrieben: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
Benutzeravatar
Herbert123
Mitglied
Beiträge: 2140
Registriert: Sa 12 Mai 2012 21:38

Re: Verflüssigen Performance usw.

Beitrag von Herbert123 »

Martin Huber hat geschrieben:
Herbert123 hat geschrieben: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
Beiträge: 40
Registriert: Mi 22 Jan 2014 12:43

Re: Verflüssigen Performance usw.

Beitrag von wilson »

Martin Huber hat geschrieben:
wilson hat geschrieben: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 hat geschrieben: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
Beiträge: 4159
Registriert: Di 19 Nov 2002 15:49

Re: Verflüssigen Performance usw.

Beitrag von Martin Huber »

wilson hat geschrieben: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