# [solved] Mehr Power für Grafikbearbeitung

## uhai

Hallo zusammen,

ich habe einen AMD QuadCore mit 4 GB und einer NVidia Geforce 5200 und 64bit-Gentoo. Derzeit sollte ich mehrere 16 MPixel-Fotos für einen Ausdruck auf 1.32 x 2,24 m aufbereiten. Beteiligt sind daran digikam, rawtherapee und krita (Calligra).

Die Rechenzeiten sind unfassbar....

Wo kann ich ansetzen um mehr Leistung zu bekommen? Ist eine Arbeitsspeichererweiterung, eine bessere Grafikkarte oder sind Softwareoptimierungen zu empfehlen?

Willkommen sind Hardwarevorschläge, Konfigurationshinweise und Erfahrungsberichte. Da das ganze sozusagen ehrenamtlich passiert könnt Ihr Hinweise auf High-End-Hardware oder Photoshop & Co. gleich überspringen..... Es muss als "Hobby" vertretbar & bezahlbar sein.

Wenn ich Informationen zur Konfiugration liefern kann, bitte nachfragen. Ich weiss wirklich nicht, was ich euch da anbieten kann.

Ich wäre sehr dankbar für jeden Tip, das Projekt steht etwas unter Zeitdruck...

uhaiLast edited by uhai on Sat Feb 09, 2013 12:44 pm; edited 1 time in total

----------

## firefly

Wird während der lagen Rechenzeit der SWAP bereich stark beansprucht?

Wenn ja dann könnte ein aufrüsten des Arbeitsspeichers helfen.

Ansonsten wäre noch die Ausgabe von "top" interressant (wenn die lange Rechenzeit gerade läuft)

----------

## Finswimmer

Schau auch mal, ob überhaupt alle Kerne ausgelastet werden.

Evtl. sind die Berechnungen nicht auf mehrere Kerne aufteilbar. Dann wäre ein schneller Kern besser als 4 langsamere...

----------

## feierabend

Du weißt zwar explizit darauf hin, dass wir nichts mit Photoshop und dergleichen raten sollen, aber ich bin mal so frei und gebe dir dennoch einen kleinen Tipp.

Wenn du kein Geld ausgeben willst kannst du auch Gimp nutzen oder einfach im Netz Online-Programme nutzen - damit sparst du dir auch sinnlos den Rechner vollzuladen.

Schau mal hier:

[img]http://img4.fotos-hochladen.net/uploads/unbenanntzib309pkw2.jpg[/img]

----------

## Beelzebub_

Was für eine Grafikkarte ist das genau? (Leistung)

Ich denke die Grafikkarte ist das wichtigste bei Bildbearbeitung.

----------

## Christian99

Das die Grafikkarte das wichtigste ist, ist so nicht ganz richtig. Es kommt auf das jeweils verwendete Programm an, ob das Berechnungen auf der Grafikkarte unterstützt, und das sind, soweit ich weiß, längst nicht alle Grafikprogramme. Ich weiß, dass einige digikam plugins das Unterstützen, über die anderen beiden Programme weiß ich nix.

Ob Arbeitsspeicher was bringt, hängt davon ab, ob der jetzige voll ist beim Arbeiten. Aber bei 16MPix Bildern kann ich mir das eigentlich nicht vorstellen...

----------

## uhai

so, ein wenig probieren hat folgendes ergeben:

- Ein Kern arbeitet 100%, 3 dümpeln bei ca. 2,5 - 3,5% vor sich hin.

- Arbeitsspeicher ist voll

- Swap bleibt leer

Gimp arbeitet meines Wissens mit 8bit Farbtiefe, das ist für den Druck zu wenig. Daher habe ich Krita (Teil von Calligra) installiert.

die Grafikkarte:

```
VGA compatible controller: NVIDIA Corporation G98 [GeForce 8400 GS] (rev a1) (prog-if 00 [VGA controller])

        Flags: bus master, fast devsel, latency 0, IRQ 18

        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]

        Memory at d0000000 (64-bit, prefetchable) [size=256M]

        Memory at fa000000 (64-bit, non-prefetchable) [size=32M]

        I/O ports at cc00 [size=128]

        [virtual] Expansion ROM at fe8e0000 [disabled] [size=128K]

        Capabilities: [60] Power Management version 3

        Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+

        Capabilities: [78] Express Endpoint, MSI 00

        Capabilities: [100] Virtual Channel

        Capabilities: [128] Power Budgeting <?>

        Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>

        Kernel driver in use: nvidia

        Kernel modules: nvidia

```

für alle fälle ein "emerge --info":

```
Portage 2.1.11.31 (default/linux/amd64/10.0/desktop/kde, gcc-4.5.4, glibc-2.15-r3, 3.5.7-gentoo x86_64)

=================================================================

System uname: Linux-3.5.7-gentoo-x86_64-AMD_Phenom-tm-_II_X4_945_Processor-with-gentoo-2.1

Timestamp of tree: Thu, 10 Jan 2013 20:15:01 +0000

ld GNU ld (GNU Binutils) 2.22

ccache version 3.1.8 [enabled]

app-shells/bash:          4.2_p37

dev-java/java-config:     2.1.11-r3

dev-lang/python:          2.7.3-r2, 3.2.3

dev-util/ccache:          3.1.8

dev-util/cmake:           2.8.9

dev-util/pkgconfig:       0.27.1

sys-apps/baselayout:      2.1-r1

sys-apps/openrc:          0.11.8

sys-apps/sandbox:         2.5

sys-devel/autoconf:       2.13, 2.69

sys-devel/automake:       1.11.6, 1.12.6

sys-devel/binutils:       2.22-r1

sys-devel/gcc:            4.4.7, 4.5.4

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4-r1

sys-devel/make:           3.82-r4

sys-kernel/linux-headers: 3.6 (virtual/os-headers)

sys-libs/glibc:           2.15-r3

Repositories: gentoo seden x-overlay

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-march=native -O2 -pipe -ggdb"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/lib64/fax /usr/share/config /usr/share/gnupg/qualified.txt /var/lib/hsqldb /var/spool/fax/etc"

CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"

CXXFLAGS="-march=native -O2 -pipe -ggdb"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org/"

LANG="de_DE.UTF-8"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j5"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/var/lib/layman/seden /usr/local/portage/overlay"

SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"

USE="3dnow X a52 aac acl acpi akonadi alsa amd64 avi berkdb bluetooth branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups cxx dbus declarative dga divx dts dv dvd dvdr dvdread emboss encode exif fam fame ffmpeg firefox flac fortran gdbm gif gphoto2 gpm gps gtk iconv ipv6 java java6 javascript jpeg jpeg2k kde kipi lcms ldap libnotify lm_sensors mad midi mjpeg mmx mng modules mp3 mp4 mpeg msn mudflap multilib ncurses nls nptl nvidia ogg opengl openmp pam pango pcre pda pdf phonon plasma png policykit ppds pppd python qt3support qt4 quicktime raw readline scanner sdl semantic-desktop session smp spell sql sse sse2 ssl startup-notification subtitles svg syslog tcpd threads tiff timidity truetype udev udisks unicode upower usb v4l v4l2 vcd vorbis wavpack wmf wxwidgets x264 xcb xcomposite xine xinerama xml xpm xscreensaver xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

```

@noob:

Danke für den Link, aber was ich mache wird 1,32 m x 2,24 m in mindestens 150 dpi ausgedruckt, dass heißt wir reden von Dateien in der Größenordnung von ca. 300 MB....

Da bleibe ich lieber auf meiner Kiste hier.

uhai

----------

## bell

Der einzige Tipp den ich beisteuern kann ist, dass Du mehrere (bis zu 5x) Vorgänge gleichzeitig startest um Deine Hardware optimal auszunutzen. Es würde parallel schneller fertig sein als sequentiell nach einander. Da wird der kritische Punkt der Arbeitspeicher sein. Sobald er anfängt zu swappen ist die Grenze der Parallelverarbeitung erreicht. Wenn die CPU zu dem Zeitpunkt noch nicht auf Vollast ist, brauchst Du mehr Arbeitspeicher um noch mehr parallel zu verarbeiten.

----------

## Beelzebub_

Vielleicht spielt auch die Festplatte eine Rolle, wenn die Übertragungsrate langsamer ist, hilft evtl. eine SSD. Aber ich weis ja gar nicht was du für eine Festplatte hast.

 :Wink: 

//EDIT: Wenn dein Arbeitsspeicher öfters voll ist hilft vllt. eine Aufrüstung, SWAP wird heutzutage kaum noch genutzt, das bremst mehr als es hilft.

----------

## Christian99

Also, ich muss noch dazu sagen, dass ich von professionellen Drucken keine Ahnung hab, aber wie kommst du mit 16MPix Bildern auf 300MB? Das sind ja fast 20 Byte pro Pixel ?!? Was machst du eigentlich mit den Bildern?

Und meines Wissens nach verwendet GIMP 8bit pro Farbkanal. Neuere Versionen sollen für viele Operationen 16bit pro Kanal verwenden.

----------

## uhai

@christian99:

Die Bilder werden auf transparentes Material gedruckt und von hinten beleuchtet an die Kopfenden von langen Fluren eingebaut. Das Format des Ausdrucks ist 1,32 m x 2,24 m.

Für den Ausdruck ist laut der ausführenden Firma keine Interpolation nötig. die Auflösung von 150 dpi ist allerdings für den Druck die Untergrenze. 

Insgesamt muss ich 8 Fotos, die auf die Farben der Böden und Wände dieser Flure abgestimmt sind, für den Druck vorbereiten.

Meine Platten sind konventionelle Laufwerke, keine SSD. Wenn der Swap eher bremst, dann versuche ich auch nicht ihn zu aktivieren. Dann denke ich eher über mehr Arbeitsspeicher nach, das war ja der einzige Wert, der laut top wirklich ausgereizt war.

Was haltet ihr von der Grafikkarte?

uhai

----------

## feierabend

Nen großer Grafikspeicher macht auch schon so einiges aus.

Besonders wenn du mit großen Dateien und vielen Ebenen arbeitest.

----------

## bell

Wird die Grafikkarte/GPU überhaupt bei Bildbearbeitung benötigt? Es geht ja nicht um die Anzeige auf dem Bildschirm. Ich denke es spielt keine Rolle.

Bezüglich RAM Voll/SWAP Leer: Dies ist das normale Verhalten bei Linux. RAM soll nicht ungenutzt bleiben. Was frei ist, wird als Festplatten-Cache genutzt.

Hast Du die "cached" Ausgabe bei "free -m" berücksichtigt? Btw. die Werte in der "-/+ buffers/cache" Zeile haben eine bessere Aussage über RAM Nutzung durch Anwendungen.

----------

## Finswimmer

http://www.heise.de/newsticker/meldung/Bildbearbeitung-Ausblick-auf-Gimp-2-10-1781599.html

So wie es da steht, scheint GIMP 2.8 noch nicht immer mehrere Kerne und die GPU zu nutzen...

----------

## franzf

Bitte erklär doch mal, was du an den Bildern "vorbereiten" musst. Wenns nur um Farben anpassen geht reicht evtl. imagemagick[opencl, openmp].

Und warum kann das der Druckfritzel nicht selber machen? Der sollte ja passende Hardware haben, um solche "Vorbereitungen" schnell über die Bühne zu bekommen.

@bell: Stichwort "cuda/opencl" -> So ne GraKa assistiert mit ihren hunderten FP-Einheiten ("normale" CPU: 1-8, je nach Anzahl der Kerne) und beschleunigt so immens.

----------

## _dev_ich

Uhai, Moin!

Du sprichst etwas nebulös (entschuldige den Ausdruck   :Cool:  ) von "Bilder aufbereiten".

Was genau wird da berechnet? Werden die Bilder einfach nur berechnet? Welche Konversionen finden statt?

Meine Tipps ins Blaue:

Versuche mal ein anderes Bildformat....

Ich habe mal ein FaxPrg geschrieben, mit dem die Faxe in ein "gängiges" Format konvertiert wurden, wie TIFF, PNG oder GIF. Alleine durch die Wahl des Ausgabeformates habe ich signifikante bzw drastische Unterschiede in der Ressourcennutzung (CPU und RAM) festgestellt. Die Unterschiede waren höllisch.

Tipp 2:

Nehme ein anderes Tool als GIMP. Es gibt ganz viele kleine Konvertierungsprogramme wie tif2bmp oder bmp2png und wie sie alle heissen. sie gehören alle zu einem Programmpaket, dessen Name mir leider nicht einfällt. 

Graphikbearbeitung ist ein ganz ganz eigenes Thema.

Ich bin mir aber sicher, daß die GraKa damit nix zu tun hat, sie rendert nur die Bildschirmausgabe, mit Graphikkonvertierungen (andere Ausgabeformate auf Dateiebenen) hat sie wirklich nichts zu tun. Was bei Dir lange dauert, ist ja nicht die Bildschirmausgabe sondern die Konvertierung der Bilder an für sich.

Du sprichst auch davon, daß Du SWAP nicht aktivieren willst/brauchst.

Ich würde auf alle Fälle einen SWAP Bereich aktivieren, allein um festzustellen, daß Du dann doch zu eng mit RAM bist.

Wenn die Bilder eine Ausgabegröße von 300 MB haben, kannst Du davon ausgehen, daß intern  ein vielfaches davon gebraucht wird! Völlig egal ob Du Formate hast, die komprimiert sind, wie JPG oder unkomprimierte wie BMP.

Ich tippe auf viel zu wenig RAM. Doch prüfe das mal, in dem Du SWAP anbietest. Sobald er swappt ist klar, wo der Flaschenhals ist.

Good Luck.

----------

## sven_s

Wenn nur eine CPU gerade voll arbeitet und der Rest nicht viel zu tun hat, dann koennte ZRAM kurzfristig abhilfe schaffen. Als Swap ist dieser wesentlich schneller als Swap auf der Festplatte und du kannst die einzelnen Devices auch relativ gross waehlen. Dadurch sind dann die anderen Kerne auch noch am arbeiten. Und der Vorgang sollte beschleunigt werden, durch den groesseren virtuellen Speicher.

----------

## uhai

Um einen grundlegenden Irrtum hier aufzuklären:

Ich verwende für diese Projekt KEIN Gimp. Gimp beherrscht meines Wissens bis zur 2.8 noch keine Farbtiefen jenseits 8bit. Daher ist das Programm nicht für die Bildbearbeitung in diesem Fall geeignet.

Ich habe diverse RAW-Files die in rawtherapee bzw. Digikam ausgearbeitet werden. Der In mehreren Fällen werden die Einzelaufnahmen anschließend zu HDR-Bildern verschmolzen.

Dann muss der Gesamt Eindruck an Farbvorgaben angepasst werden. Teilweise mache ich das bei der Raw-Bearbeitung, teilweise hinterher, evtl. auch nur in Bildteilen. Und eine Signatur füge ich auch noch bei.

Dann wird das passende Farbprofil zugeordnet und die Datei als Tiff gespeichert. Wenn ich eine Möglichkeit finde, die Bilder als CMYK zu speichern, mache ich auch das noch.

Die arbiet an den Drucker abzugeben habe ich auch schon überlegt. Aber ich mache viel mit meinen Fotos, von daher wäre eine Aufrüstung sicher nicht umsonst...

uhai

----------

## syn0ptik

 *franzf wrote:*   

> Bitte erklär doch mal, was du an den Bildern "vorbereiten" musst. Wenns nur um Farben anpassen geht reicht evtl. imagemagick[opencl, openmp]. 

 

Mich interessen, du den machen es mit opemmp?

Ich machen imagemagick verboten mit openmp hier https://forums.gentoo.org/viewtopic-t-947768.html

----------

## uhai

Da Digikam sich beim Start verabschiedet - vermutlich wegen der RAW-Bibliotheken - habe ich jetzt nur die RAW-Entwicklung gemacht und mit imagemagick meine Sig hinzugefügt. 

Das Vergrößern, die Farbprofile und die Farbseparation hat jetzt der Drucker erledigt.

Meinen Arbeitsspeicher habe ich auf das Board-Maximum erweitert - 16 GB. Kann jedenfalls nicht schaden.

uhai

----------

