Warum dauert Photoshop so lange, um ein Bild mit angewendetem Filter zu rendern?

Ich habe kein wirkliches Problem damit, aber es interessiert mich wirklich, was die Antwort sein könnte ...

Angenommen, ich gehe in Photoshop und habe ein Bild, gehe zu Filter und dann zu Filter Gallery.

Wenn Sie sich durch die Filter klicken, dauert es vielleicht 0,2 Sekunden, um einige davon vollständig zu laden. Dies summiert sich, wenn ich einen Filter auf ein ganzes Video anwenden möchte.

Dennoch kann ich eine 3D-Szene in OpenGL in Echtzeit rendern, wobei einige Nachbearbeitungseffekte zur Auswahl stehen, und wenn ich sie durchblättere, wird das Ganze sofort gerendert (0,0079 Sekunden, um genau zu sein, nur 0,0001 Sekunden mehr als ein Frame ohne ein Effekt).

Also habe ich mich gefragt ... Verwendet Photoshop nicht die GPU, um diese Filtereffekte anzuwenden? Müssen die Filter bei jeder Auswahl neu zusammengestellt werden? Gilt CS6 jetzt nur noch als alt und schlecht optimiert?

Meine letzte Theorie ist, dass einige Effekte die GPU nicht verwenden können, weil sie einen bestimmten Algorithmus (insbesondere den Spachteleffekt) verwenden, der speziell die Pixel der Reihe nach betrachten muss - das würde nicht parallel funktionieren.

Antworten (1)

Geschwindigkeit ist eine Sache der Optimierung, aber die Optimierung geht zu Lasten der Implementierungsgeschwindigkeit. Einige der Filter würden die GPU sehr belasten, da sie nicht parallelisiert werden können. Außerdem verwendet Photoshop regelmäßig Bilder, die viel größer sind, als die meisten Karten Texturen zulassen.

Ja, es ist möglich, Echtzeit-Renderings zu erstellen, die alle möglichen Dinge in der GPU erledigen. Aufgrund der Flexibilitätsbeschränkungen werden Filme jedoch immer noch auf der CPU mit tageslangen Frames gerendert.

Jetzt ist Photoshop für die Druckproduktion und in zweiter Linie für Standmedien gedacht. Was es dafür tut, ist genug. Sicher könnten sie ein paar Millionen ausgeben, um ihre gesamte Codebasis zu überarbeiten, aber Sie wissen, was für ihre Zielgruppe ausreicht. Außerdem ist die Anwendung, die für Video AE gedacht ist, viel aggressiver optimiert.

Aber wenn Sie einen Super-Opengl-Editor haben, der alles in Mikrosekunden erledigt, verwenden Sie stattdessen diesen. Oder ist es so, dass Sie eine Flexibilität benötigen, die es nicht bietet? Funktionen wie Undo brauchen tatsächlich einige Zeit ... Selbst wenn PS es in der GPU tun würde, muss es immer noch die Puffer zurücklesen usw.

In Wirklichkeit höre ich ständig dieses Geschwindigkeitsding, aber sehe es nicht. Der Trend begann irgendwann in den 2000er Jahren, aber noch 16 Jahre später befinden sich diese superbeschleunigten Apps aus irgendeinem Grund nicht auf jedem Media-Computer. Sie kommen sehr langsam auf den Markt, sie existieren, ich weiß, aber es gibt sie immer noch nicht wirklich hier.