The Floating Point Engine/de: Difference between revisions

From RawPedia
Jump to navigation Jump to search
mNo edit summary
(next steps ready)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:General]]
Todo-List / State:
Todo-List / State:


* Translation: completed
* Translation: completed
* Content completely cleared: open, see discussion
* Content completely cleared: yes
* Expression and didactics checked: completed; but uncleared content yet open
* Expression and didactics checked: completed
* Spelling checked: open
* Spelling checked: open


Line 9: Line 10:


----
----
[[Category:General]]
=Gleitkomma-Berechnung in RawTherapee=
 
RawTherapee rechnet grundsätzlich in hoch genauer 32-Bit-[https://de.wikipedia.org/wiki/Gleitkommazahl Gleitkomma]-Rechnung. Ganz im Gegensatz zu 16-Bit-Integer-Berechnungen, die derzeit immer noch in vielen Anwendungen, wie z.B. im Raw-Konverter [https://de.wikipedia.org/wiki/DCRaw DCRaw] verwendet werden. Das Gleitkommaverfahren stellt sicher, dass unabhängig vom Absolutwert, z.B. eines Pixelhelligkeitswertes, die Berechnung immer mit der gleichen Zahl signifikanter Stellen ausgeführt wird. Das heißt also, kleine Werte, z.B. dunkle Pixelwerte, werden mit genau so viel Auflösung verrechnet, wie sehr helle Pixel. Durch die 32-Bit-Technik ist dabei die verwendete Auflösung so hoch, dass Rundungsfehler selbst bei vielen aufeinanderfolgenden Filterberechnungen (Bildverarbeitungsfunktionen) absolut keine im Bild sichtbare Rolle spielen oder irgendwelche Artefakte, Rauschen oder Informationsverluste hinterlassen.


RawTherapee rechnet grundsätzlich in hoch genauer 32-Bit-[https://de.wikipedia.org/wiki/Gleitkommazahl Gleitkomma]-Rechnung. Ganz im Gegensatz zu 16-Bit-Integer-Berechnungen, die derzeit immer noch in vielen Anwendungen, wie z.B. im Raw-Konverter [https://de.wikipedia.org/wiki/DCRaw DCRaw] verwendet werden. Das Gleitkommaverfahren stellt sicher, dass unabhängig vom Absolutwert, z.B. eines Pixelhelligkeitswertes die Berechnung immer mit der gleichen Zahl signifikanter Stellen ausgeführt wird. Das heißt also, kleine Werte, z.B. dunkle Pixelwerte, werden mit genau so viel Auflösung verrechnet, wie sehr helle Pixel. Durch die 32-Bit-Technik ist dabei die verwendete Auflösung derartig hoch, dass Rundungsfehler selbst bei vielen aufeinanderfolgenden Filterberechnungen (Programmfunktionen) keine im Bild sichtbare Rolle spielen oder irgendwelche Artefakte, Rauschen oder Informationsverluste hinterlassen.
Klassische Raw-Konverter arbeiten mit 16-Bit-integer-Verarbeitung. Das liegt daran, dass bei früheren Prozessorgenerationen die Ganzzahlrechnung deutlich weniger Zeit benötigte, als die Gleitkommarechnung. Die Softwareentwickler waren also bemüht, Auflösung und Rechengeschwindigkeit gegeneinander zu optimieren. Das ist heute nicht mehr notwendig und RawTherapee hat deshalb vollständig auf Gleitkommarechnung umgestellt.


Klassische Raw-Konverter arbeiten mit 16-Bit-integer-Verarbeitung. Das liegt daran, dass bei früheren Prozessorgenerationen die Ganzzahlrechnung weniger Zeit benötigte, als die Gleitkommazahlenrechnung. Die Softwareentwickler waren also bemüht, Auflösung und Rechengeschwindigkeit gegeneinander zu optimieren. Das ist heute nicht mehr notwendig und RawTherapee hat deshalb vollständig auf Gleitkommarechnung umgestellt.
Wenn Du denkst, das die Kamera ja sowieso nur mit 12 bis 14 Bit Auflösung arbeitet, dann vergiss nicht, dass die Filterfunktionen im Programm sehr viele Informationen verwenden, um dann ein Bild in Deiner gewünschten Qualität zu berechnen. Dafür reicht es nicht, mit 16 Bit Festkommawerten zu rechnen. Es ergeben sich sehr kleine, wie sehr große Zwischenwerte, die mit 16 Bit dann nicht mehr ausreichend genau aufgelöst werden. Bei Gleitkomma passt sich die Auflösung eines Wertes immer automatisch an den Absolutwert dieser Größe an. Und es sind auch keine Tricks des Softwareentwicklers nötig, um in solchen Fällen möglichst wenig Informationen zu verlieren. Bei Gleitkomma ist die Auflösung immer konstant hoch (bezogen auf die Dekaden das Dezimalsystem) und wird mit jedem Rechenschritt wieder neu auf ihren auflösungstechnischen Maximalwert skaliert.


Wenn Du denkst, das die Kamera ja sowieso nur mit 12 bis 14 Bit Auflösung arbeitet, dann vergiss nicht, dass die Filterfunktionen im Programm sehr viele Informationen verwenden, um dann ein Bild in Deiner gewünschten Qualität zu berechnen. Dafür reicht es nicht, mit 16 Bit Festkommawerten zu rechnen. Es ergeben sich sehr kleine, wie sehr große Werte innerhalb des Rechnungsablaufes, die mit 16 Bit dann nicht mehr ausreichend genau abgebilet werden. Bei Gleitkomma passt sich die Auflösung eines Wertes immer automatisch an den Absolutwert dieser Größe an. Und es sind auch keine Tricks des Softwareentwicklers nötig, um in solchen Fällen möglichst wenig Informationen zu verlieren. Bei Gleitkomma ist die Auflösung immer konstant hoch (bezogen auf das Dezimalsystem) und wird mit jedem Rechenschritt wieder neu auf ihren auflösungstechnischen Maximalwert skaliert.
Speicherbedarf: 32 Bit Gleitkomma benötigen genau Faktor 2 mehr als 16 Bit-Berechnungen. Nach dem [[Demosaicing/de|Demosaicing]] haben wir dann sogar 3 Stück 32-Bit-Werte pro Pixel. Während der Berechnung des Bildes müssen unter Umständen gleichzeitig auch mal 2 Felder der Bildinformationen angelegt werden, um das Bild Schritt für Schritt durchzurechnen. Nehmen wir heutige hochauflösende Kameras zum Standard (paar'n 30 MPixel ist nicht selten, aber es gibt im Mittelformatbereich auch schon über 100 Megapixel und es gibt zusammengesetzte Panoramafotos), ist auf einem 32-Bit-System unter Umständen die maximal adressierbare Speichergröße erreicht (Beispielrechnung als Faustformel leicht skalierbar: 100M-Pixel mal 3 Farbwerte * 4 Byte ergeben für ein einziges Bild-Datenfeld im RAM 1,2 Gigabyte. Also Pixelzahl mal 12 ergibt Byte pro Bild.). RawTherapee stürzt also bei sehr großen Bildern unter Umständen wegen des fehlenden Arbeitsspeichers ganz "gezielt" ab, weil das Betriebssystem die Speicherverwaltung überwacht und die Notbremse zieht. Speicherplatzprobleme können aber auch an anderen Stellen auftreten. Zum Beispiel, wenn RawTherapee einen Bilderordner darstellt. Insofern ist bei einer derartigen Nutzung ein 64-Bit-System unbedingt vorzuziehen.


== Was tun bei Speichmangel? ==


The downside is the RAM space floating point numbers require, which is exactly twice that of 16-bit integer. Together with the ever-increasing megapixel count of digital cameras a 32-bit operating system can quite easily run out of memory and cause RawTherapee to crash. Therefore a 64-bit operating system is highly advised for stability. If you have problems running RT on a 32-bit system, try the following:
Für die Leute, die noch mit 32-Bit-Systemen arbeiten müssen oder nur 4 Gigabyte Speicher im Rechner haben, gibt es folgende Tipps, den Speicherraum für die Arbeit mit RawTherapee zu optimieren:


* As a general rule, you should avoid having folders with too many raw photos in them as each photo takes up memory when displayed in RawTherapee's File Browser tab. Try not to have more than 100 photos per folder.
* Eine allgemeine Regel ist, dass in einem Bearbeitungsordner nicht mehr als 100 Bilder liegen sollten, damit in der Dateiverwaltungsansicht kein Speicherplatzmangel herrscht.
* RawTherapee uses more RAM while you are using the File Browser tab, so avoid opening that tab while you are processing photos.
* Öffne die Dateiverwaltungsansicht auch nicht, wenn Bilder berechnet werden (Speichern läuft bzw. Bilder in der Warteschlange werden gerade abgearbeitet).
* Use 4-Gigabyte Tuning in Windows. See "[http://msdn.microsoft.com/en-us/library/bb613473%28VS.85%29.aspx 4-Gigabyte Tuning: BCDEdit and Boot.ini]" for an explanation of what it is, and find out how to do it by reading the guide "[http://avatechsupport.blogspot.se/2008/03/how-to-set-3gb-startup-switch-in.html How to set the /3GB Startup Switch in Windows XP and Vista]".
* Nutze einen Trick, um unter Windows auch die letzten Megabyte für Anwendungen frei zu geben: [http://msdn.microsoft.com/en-us/library/bb613473%28VS.85%29.aspx 4-Gigabyte Tuning: BCDEdit and Boot.ini] und [http://avatechsupport.blogspot.se/2008/03/how-to-set-3gb-startup-switch-in.html How to set the /3GB Startup Switch in Windows XP and Vista]
* Close other programs while working in RawTherapee.
* Schließe alle anderen Programme
* Close the Image Editor tab when you're done editing to free up memory.
* Schalte in der Warteschlange "Automatisch starten" ab. Starte die Abarbeitung erst, wenn Du weder Bilder bearbeitest, noch planst, die Dateiverwaltungsansicht mit vielen Bildern im Ordner nochmal zu öffnen.
* Turn off "auto-start" in the batch queue. Only add photos to the batch queue once you are done editing all of them, and then start it. Use the batch queue, do not use the immediate save button.
* Nutze die Warteschlange zur Bildverarbeitung und nicht den Speichern-Button im Editor, denn dann erfolgt das Berechnen während des geöffneten Editors (s. oben)
* Change to a directory with few or no photos in it before starting the batch queue.
* Etwas Platz kann geschaffen werden, indem Du im Ordner ...\iccprofiles\input all die *.icc Profilfiles löschst, die Du für deine Kamera(s) nicht benöigst. Oder benenne sie. Zum Beispiel in *.icc.unused .
* You can free some memory by deleting (or moving to a different folder, or renaming to something like .unusedicc) all the .icc profiles in iccprofiles\input for the cameras you do not use.
* In den Einstellungen sollten die Ordner für Dunkel- und Weißbilder nicht auf einen Ordner zeigen, in dem Raw-Bilder enthalten sind, wenn Du Dunkel- und Weißbilder gar nicht verwendest.
* Assure that the Dark-frames Directory and the Flat-fields Directory in Preferences do not point to folders containing raw-files if you do not use Dark-frames or Flat-fields.
* Die Werkzeug mit den höchsten Arbeitsspeicherverbräuchen sind ''Dynamikkompression'', ''Kontrast nach Detailstufen'' und die ''Lichter rekonstruieren'' mit der Methode "Farbübertragung". Verwende die Funktion notfalls nicht, wenn Dein Rechner zu knapp bemessen ist.
* The most memory-intensive tools are [[Tone Mapping]], [[Contrast by Detail Levels]] and [[Exposure#Highlight_Reconstruction | Highlight Reconstruction]] using "Color Propagation", so you might need to avoid using them if your machine and operating system are not up to standard.

Latest revision as of 21:39, 16 March 2017

Todo-List / State:

  • Translation: completed
  • Content completely cleared: yes
  • Expression and didactics checked: completed
  • Spelling checked: open

Ready for publishing: no


Gleitkomma-Berechnung in RawTherapee

RawTherapee rechnet grundsätzlich in hoch genauer 32-Bit-Gleitkomma-Rechnung. Ganz im Gegensatz zu 16-Bit-Integer-Berechnungen, die derzeit immer noch in vielen Anwendungen, wie z.B. im Raw-Konverter DCRaw verwendet werden. Das Gleitkommaverfahren stellt sicher, dass unabhängig vom Absolutwert, z.B. eines Pixelhelligkeitswertes, die Berechnung immer mit der gleichen Zahl signifikanter Stellen ausgeführt wird. Das heißt also, kleine Werte, z.B. dunkle Pixelwerte, werden mit genau so viel Auflösung verrechnet, wie sehr helle Pixel. Durch die 32-Bit-Technik ist dabei die verwendete Auflösung so hoch, dass Rundungsfehler selbst bei vielen aufeinanderfolgenden Filterberechnungen (Bildverarbeitungsfunktionen) absolut keine im Bild sichtbare Rolle spielen oder irgendwelche Artefakte, Rauschen oder Informationsverluste hinterlassen.

Klassische Raw-Konverter arbeiten mit 16-Bit-integer-Verarbeitung. Das liegt daran, dass bei früheren Prozessorgenerationen die Ganzzahlrechnung deutlich weniger Zeit benötigte, als die Gleitkommarechnung. Die Softwareentwickler waren also bemüht, Auflösung und Rechengeschwindigkeit gegeneinander zu optimieren. Das ist heute nicht mehr notwendig und RawTherapee hat deshalb vollständig auf Gleitkommarechnung umgestellt.

Wenn Du denkst, das die Kamera ja sowieso nur mit 12 bis 14 Bit Auflösung arbeitet, dann vergiss nicht, dass die Filterfunktionen im Programm sehr viele Informationen verwenden, um dann ein Bild in Deiner gewünschten Qualität zu berechnen. Dafür reicht es nicht, mit 16 Bit Festkommawerten zu rechnen. Es ergeben sich sehr kleine, wie sehr große Zwischenwerte, die mit 16 Bit dann nicht mehr ausreichend genau aufgelöst werden. Bei Gleitkomma passt sich die Auflösung eines Wertes immer automatisch an den Absolutwert dieser Größe an. Und es sind auch keine Tricks des Softwareentwicklers nötig, um in solchen Fällen möglichst wenig Informationen zu verlieren. Bei Gleitkomma ist die Auflösung immer konstant hoch (bezogen auf die Dekaden das Dezimalsystem) und wird mit jedem Rechenschritt wieder neu auf ihren auflösungstechnischen Maximalwert skaliert.

Speicherbedarf: 32 Bit Gleitkomma benötigen genau Faktor 2 mehr als 16 Bit-Berechnungen. Nach dem Demosaicing haben wir dann sogar 3 Stück 32-Bit-Werte pro Pixel. Während der Berechnung des Bildes müssen unter Umständen gleichzeitig auch mal 2 Felder der Bildinformationen angelegt werden, um das Bild Schritt für Schritt durchzurechnen. Nehmen wir heutige hochauflösende Kameras zum Standard (paar'n 30 MPixel ist nicht selten, aber es gibt im Mittelformatbereich auch schon über 100 Megapixel und es gibt zusammengesetzte Panoramafotos), ist auf einem 32-Bit-System unter Umständen die maximal adressierbare Speichergröße erreicht (Beispielrechnung als Faustformel leicht skalierbar: 100M-Pixel mal 3 Farbwerte * 4 Byte ergeben für ein einziges Bild-Datenfeld im RAM 1,2 Gigabyte. Also Pixelzahl mal 12 ergibt Byte pro Bild.). RawTherapee stürzt also bei sehr großen Bildern unter Umständen wegen des fehlenden Arbeitsspeichers ganz "gezielt" ab, weil das Betriebssystem die Speicherverwaltung überwacht und die Notbremse zieht. Speicherplatzprobleme können aber auch an anderen Stellen auftreten. Zum Beispiel, wenn RawTherapee einen Bilderordner darstellt. Insofern ist bei einer derartigen Nutzung ein 64-Bit-System unbedingt vorzuziehen.

Was tun bei Speichmangel?

Für die Leute, die noch mit 32-Bit-Systemen arbeiten müssen oder nur 4 Gigabyte Speicher im Rechner haben, gibt es folgende Tipps, den Speicherraum für die Arbeit mit RawTherapee zu optimieren:

  • Eine allgemeine Regel ist, dass in einem Bearbeitungsordner nicht mehr als 100 Bilder liegen sollten, damit in der Dateiverwaltungsansicht kein Speicherplatzmangel herrscht.
  • Öffne die Dateiverwaltungsansicht auch nicht, wenn Bilder berechnet werden (Speichern läuft bzw. Bilder in der Warteschlange werden gerade abgearbeitet).
  • Nutze einen Trick, um unter Windows auch die letzten Megabyte für Anwendungen frei zu geben: 4-Gigabyte Tuning: BCDEdit and Boot.ini und How to set the /3GB Startup Switch in Windows XP and Vista
  • Schließe alle anderen Programme
  • Schalte in der Warteschlange "Automatisch starten" ab. Starte die Abarbeitung erst, wenn Du weder Bilder bearbeitest, noch planst, die Dateiverwaltungsansicht mit vielen Bildern im Ordner nochmal zu öffnen.
  • Nutze die Warteschlange zur Bildverarbeitung und nicht den Speichern-Button im Editor, denn dann erfolgt das Berechnen während des geöffneten Editors (s. oben)
  • Etwas Platz kann geschaffen werden, indem Du im Ordner ...\iccprofiles\input all die *.icc Profilfiles löschst, die Du für deine Kamera(s) nicht benöigst. Oder benenne sie. Zum Beispiel in *.icc.unused .
  • In den Einstellungen sollten die Ordner für Dunkel- und Weißbilder nicht auf einen Ordner zeigen, in dem Raw-Bilder enthalten sind, wenn Du Dunkel- und Weißbilder gar nicht verwendest.
  • Die Werkzeug mit den höchsten Arbeitsspeicherverbräuchen sind Dynamikkompression, Kontrast nach Detailstufen und die Lichter rekonstruieren mit der Methode "Farbübertragung". Verwende die Funktion notfalls nicht, wenn Dein Rechner zu knapp bemessen ist.