Capture NX-D bremst PC aus

Thread Status
Hello, There was no answer in this thread for more than 30 days.
It can take a long time to get an up-to-date response or contact with relevant users.
moin,

wenn du den taskmanager öffnest und die prozesse registriekarte aufrufst, gehst du auf die capture nx-d programm exe. > rechts klick und auf "zugehörigkeit festlegen" klickst, dann siehst du wie viele kerne für das programm arbeiten. falls nur bei einem kern ein häckchen drin sein sollte arbeitet auch nur ein kern, eventuell kannst du hier aber die anderen kerne dazuschalten.

gruß frank
 
Kommentar
Anzeigen
moin,

wenn du den taskmanager öffnest und die prozesse registriekarte aufrufst, gehst du auf die capture nx-d programm exe. > rechts klick und auf "zugehörigkeit festlegen" klickst, dann siehst du wie viele kerne für das programm arbeiten. falls nur bei einem kern ein häckchen drin sein sollte arbeitet auch nur ein kern, eventuell kannst du hier aber die anderen kerne dazuschalten.

gruß frank


Das wäre dann bei CNX2 eine eindeutige Sache, oder ?

unbenannt.jpg
 
Kommentar
Ich hatte schon mal vor Jahren mit AndyE die Diskussion, er war der Meinung, dass CNX2 nur auf zwei Kernen läuft.
Ich denke, es kann sogar mit HyperThreading umgehen und nutzt alle sechs physischen Kerne.
Aber [MENTION=6407]AndyE[/MENTION] ist hier natürlich der PC-Pro.

Entrauschen mit CNX2 schrittweise an den Schiebereglern (Veränderung in "Echtzeit" sichtbar):

bbb.jpg
 
Kommentar
Ich hatte schon mal vor Jahren mit AndyE die Diskussion, er war der Meinung, dass CNX2 nur auf zwei Kernen läuft.
Ich denke, es kann sogar mit HyperThreading umgehen und nutzt alle sechs physischen Kerne.
Aber AndyE ist hier natürlich der PC-Pro.
Ach, da gibt es viel bessere Profi's, ich bin nur neugierig :)

Dein Screenshot zeigt eine Auslastug von einer ca. 1 CPU Äquivalenz. 8,5% x 12 logische Kerne ist in etwa die verfügbare Rechenleistung des Gesamtsystems. Daß alle 12 logischen Kerne eine Belastung zeigen ist normal (solange die o.a. CPU Affinität nicht eingeschränkt wird). Das Betriebsystem schiebt den Prozess halt dorthin, wo gerade etwas frei ist. Leider hat CNX keine skalierbare Mehrprozessorunterstützung, die es in veschiedenen Situationen anwenden könnte.

Es könnte zum Beispiel den Entrauschungsalgorithmus eines Bildes auf viele Kerne gleichzeitig auslagern. Bei der Stapelverarbeitung könnte ein kontrollierender Thread die im Stapel anzuwendenden Funktionen pro Bild auf eine CPU auslagern und alle 12 Kerne wären zugleich beschäftigt. Das würde den Durchsatz deutlich erhöhen und der Taskmanager würde eine Gesamtauslastung von 100% melden (und nicht 8 oder 9%). Derzeit kann man während die Stapelverarbeitung läuft, keine anderen Funktionen nutzen. Etc, etc ...

Um CNX zu beschleunigen, ist es von seiten der HW empfehlenswerter, eine hochgetaktete CPU mit wenigen Kernen zu nehmen, als eine mit vielen Kernen und einer geringeren Taktfrequenz.

Ditto skaliert Lightroom auch nicht sehr gut, wenn ein System mehr als 4 logische Kerne hat. Hat man eine Dual Socket Workstation wird es nochmals langsamer, da LR nicht gut mit verteilten Hauptspeichern (NUMA) umgehen kann.

Aber ich bin guter Dinge, daß in Zukunft gerade die rechenintensiven Programme zur Fotobearbeitung so umgeschrieben werden, daß der in der HW Entwicklung bereits 2004 stattgefundene Paradigmenwechsel zur Mehrprozessorwelt einmal optimal ausgenutzt wird. Wie lange das dauern wird? Keine Ahnung.

In der Zwischenzeit: Für CNX zahlt es sich aus, den Datencache auf eine SSD zu legen.

lg,
Andy
 
Kommentar
...

Um CNX zu beschleunigen, ist es von seiten der HW empfehlenswerter, eine hochgetaktete CPU mit wenigen Kernen zu nehmen, als eine mit vielen Kernen und einer geringeren Taktfrequenz.

War es nicht schon immer so, das die Software der Hardware hinterher hinkt?

Seit dem 80386 hatten wir 64bit und lange keine Software, heute haben wir x Kerne und kaum eine Software nutzt sie wirklich. Wenn ich dann noch lese, das ein Handy mit 8 Prozessorkernen und mehr daher kommt... :dizzy:

Erinnere mich noch gut an einen meiner Rechner aus 2001/2002, ein MSI-Board mit Pentium-4-HT; es gab schon längst die Core-2 und Core-4 Chips und die angeblich veraltete Kiste hat so manchen neuen Rechner alt aussehen lassen. Bei einem Test gegen einen Quad-Core mit gleichem Speicher und vergleichbarer Plattenperformance bei dem in Thumbs-plus mehrere tausend Bilder verkleinert werden sollten, war die dann schon fünf Jahre alte Kiste ca. 30% schneller... :D

Solange die Softwarefritzen ihr Produkt nicht konsequent auf eine Mehrkern-Architektur programmieren ist jedes Hardwareupdate auf "dickere" Prozessoren zumindest von zweifelhaften Beigeschmack begleitet.

Aktuell steht hier der alte Core-2-Duo gegen einen i7; der Geschwindigkeitsvorteil des Neuen entspricht in kleinster Weise seinem technologischen Vorsprung und bewegt sich bei der Bildverarbeitung in den Nikon-Programmen im besten Fall in einem Bereich von 25%.

Deshalb wird der alte Core-2 auch gerne noch ne Weile machen; er hat nämlich auch noch einen sehr netten Vorteil gegenüber dem Neuen, er ist faktisch unhörbar, obwohl auf einem großen Holzschreibtisch stehend, während der i7 auf dem Boden permanent rauscht...
 
Kommentar
Hallo,

technisch bin ich zwar ein Laie, aber mit meiner Vermutung habe ich wohl nicht ganz falsch gelegen. Ich habe den gleichen Effekt wie Jakker festgestellt. Der Vorgänger des i5 war auch ein Core Duo; der Geschwindigkeitszuwachs bei NX2 ist zwar merkbar, entspricht aber nicht meiner Erwartungshaltung.
Mein Cache liegt auch auf einer SSD. Von daher denke ich dass, wie AndyE schreibt, hier ein nicht unbedingt geringer Teil des Zugewinns liegt.
 
Kommentar
Derzeit kann man während die Stapelverarbeitung läuft, keine anderen Funktionen nutzen. Etc, etc ...

lg,
Andy

Bei allem Respekt aber das ist so einfach nicht war.
Ich kann völlig problemlos und ohne merkliche Verzögerung in CNX2 Bilder bearbeiten während die Stabelverarbeitung gerade hunderte Bilder verarbeitet.
Auch erreiche ich dabei eine Prozessorauslastung lt. TaskManager von bis zu 74% Gesamt temporär. Auch scheint es keinen merklichen Einfluss auf meine Arbeitsgeschwindigkeit an einem einzelnen Bild zu haben, wenn ich während dessen im Hintergrund auch noch mit Nero einen HD-Film konvertieren lasse und gleichzeitig den Stapelverarbeitungsprozess mit mehreren hundert Bildern laufen lasse.
Allerdings gebe ich dir recht, über 80% Auslastung komme ich mit realen Programmen nicht. Irgendwo muss also noch eine Bremse sein. Bei diesen Prozessen ist auch auffallend, dass der Arbeitsspeicher nicht über 4GB gefüllt wird. Habe ich hingegen 20 Bilder manuell in CNX2 in Bearbeitung mit unterschiedlichsten Einstellungsparametern, so ist mein 12GB Arbeitsspeicher randvoll.

Den TaskManger darfst du natürlich nicht interpretieren, während die Threads gerade in Leerlauf sind mit 9% wie du schreibst. An den Peaks sieht man ja, dass im zeitlichen Verlauf erheblich höhere Auslastung erfolgt.
Also für mich ist zumindest offensichtlich, dass tatsächlich in CNX2 mit allen Kernen gearbeitet werden muss, sonst könnte die Gesamtauslastung nicht auf bis 74% kommen. Oder verstehe ich das alles falsch ?

Mein alter Gulftown harmoniert mit CNX2 schon sehr ordentlich, da ruckelt und bremst nichts. Ich nutze übrigens für Programme und Cashes sowie für die Zieldateien mein Revodrive3 X2 mit 240GB. Eine alte PCIexpress-SSD im Raid-0 on board.
Um das ganze richtig zu testen müsste ich auch noch die Quelldateien auf die SSD verschieben. Das könnte auch momentan der Flaschenhals sein.


Nero HD-konvertierung + Stapelverarbeitung + Einzelbildbearbeitung gleichzeitig

333.jpg
 
Kommentar
zitat
...heute haben wir x Kerne und kaum eine Software nutzt sie wirklich...

hi,

bei jeder software sollte man eigentlich, wie ich unten beschrieben, alle kerne dazuschalten können.

gruß frank
 
Kommentar
...
bei jeder software sollte man eigentlich, wie ich unten beschrieben, alle kerne dazuschalten können.
Btw, die Eingriffsmöglichkeit im Taskmanager dient der Einschränkung der einem Prozess zur Verfügung gestellten Kerne/Knoten. Per Default können alle Prozesse auf allen Kernen/Knoten laufen.
 
Kommentar
Hallo,
das habe ich jetzt doch mal probiert:
Pc, WIN 8.1pro/64bit, CPU i7-3930K, 32 GB RAM, CNX 2.4.7/64bit

69 NEFs (von der D300) nach JPG per Stapelverarbeitung umwandeln
dauert mit allen zugewiesenen Kernen ca. 60 Sek


nur mit Kern 0 zugewiesen dauert das dann ca. 190 Sek


also im Normalfall doch alle 6 Kerne?
mfg
Franz
 
Kommentar
Jakker,
betreff der SW Entwicklung gab es 2003/2004 das große Aha Erlebnis. War es bis zu diesem Zeitpunkt Aufgabe einer relativ kleinen Gruppe von Hardware Entwicklern, von Generation zu Generation die Leistung von Single Threaded Anwendungen nach oben zu treiben, war das mit der Entscheidung von Intel zur Prescott Serie endgültig vorbei. Nicht umsonst spricht man von "The free ride was over" und meinte damit, daß die Anwendungssoftwareentwickler einfach gratis in den Genuss der schnelleren HW Leistung vom Intel 8088 bis zum Prescott (ca. 3000x schneller) kamen. Nachdem die Energiedichte auf der CHipoberfläche jene der Sonne erreichte, gab es einfach keinen technologisch und kaufmännisch sinnvollen Weg, die Leistung wie in der Vergangenheit ohne Änderung in der Anwendungssoftware zu steigern.
Höherer Takt, höhere IPC (Instruction per Cycle), bessere Speicherhierarchie mit mehreren Cache Ebenen, Out-of-Order Execution, Branch prediction, mehr Transistoren pro Funktion, multiple Funktionseinheiten, bessere Überlappung der Addressgenerierung zu Ausführungseinheiten, bessere Überlappung der Speicherzugriffe, usw, usf, ...

Seit diesem Zeitpunkt *müssen* alle Anwendungsentwickler explizit parallel denken und entwicklen - die komfortable Situation aus den Anfangsjahren ist endgültig vorbei. Die Fortführung der alten HW Methoden der Leistungssteigerung würde den Chip einfach schmelzen lassen, bzw. den Energieverbrauch in astronomische Höhen treiben.

Parallele Programmierung ist nicht einfach, vor allem nicht für Desktop Programme. Somit wanderte die "Verpflichtung" Leistungssteigerung zu finden von einer Handvoll HW Experten zu ein paar zig Millionen von Anwendungssoftwareentwicklern.

Warum dein i7 System rauscht weiß ich nicht, meine i7 Systeme sind alle quasi lautlos.


Wolfgang,
danke für den Hinweis mit der gleichzeitigen CNX Bearbeitung - das schaue ich mir bei mir nochmals genauer an warum das nicht geht (Welche Version nutzt Du?)

Zu deinen 74/78/80% Beobachtung. Klar kann ein Betriebsystem mehreren unabhängigen Programmen Rechenkerne zuteilen. Nur sagt dieser Wert nicht wie gut eine Anwendung parallelisiert worden ist. Dreh einfach Nero ab, und schau dir dann die durchschnittliche CPU Auslastung an, wenn nur CNX im Batchmodus und interaktiv läuft. Hast Du dann noch immer 80% Auslastung auf deinen 12 Kernen? Ich vermute: Nein.

Die von dir beschriebenen Peaks sind nur temporäre Ausschläge einzelner Kerne die nicht zugleich stattfinden. Schalte die Darstellung auf nur eine CPU Anzeige um, wenn nur CNX läuft - das akkumuliert die einzelnen CPU Werte zu einer aussagkräftigeren Zahl, was CNX con deinen 12 Kernen nutzt.

Anbei ein Bild des Taskmanagers von einer Anwendung die recht gut parallel läuft. 32 Kerne für eine Anwendung. (Ich lasse jetzt einmal die ganze Thematik der computational density außen vor, die nur über den Energieverbrauch der Anwendung gemessen werden kann. Der Taskmanager kann das nicht abbilden)
original.jpg



Franz,
wenn ein Kern 190 Sekunden braucht, dann sollte dein System mit 12 Kernen, wenn sie optimal ausgenutzt werden 190/12 Sekunden schnell sein (= ca. 16 Sekunden), da es jedoch 60 Sekunden braucht, wird bei 3-4 CPU Kernen Schluss mit der Skalierung sein.

Kannst Du einfach überprüfen:
Lass die Stapellauf mit einer CPU laufen, mach den Stapellauf danach mit 2 Kernen, dann 3 Kernen usw usf. Dann siehst Du recht schön, ab wann es kaum mehr eine Leistungssteigerung gibt, wenn Du CNX mehr CPU Kerne gibst.

PS:
Bei CNX ist es egal, bei rechen- und speicherintensiven Programmen ist es nicht egal welche CPU Kerne des Systems für eine Anwendung frei gegeben werden. Stichwort: Cache trashing.
Ein anderer Hinweis. Die CPU mit der höchsten # wird von Windows für die Bearbeitung der Interrupts und I/O verwendet und ist daher von Haus aus die langsamste für Anwendungsprogramme, wenn das System eine hohe Interruptlast hat.


LG,
Andy
 
Kommentar
- das schaue ich mir bei mir nochmals genauer an warum das nicht geht (Welche Version nutzt Du?)LG,
Andy


Ich nutze CNX2 Version 2.4.7. mit Win7 x64 und kann nach dem Starten der Stabelverarbeitung beliebig aus ViewNX2 Bilder manuell in CNX2 übergeben und ungehindert bearbeiten. Ich bemerke dabei die vorhandene Auslastung des Prozessors durch den Stapelprozess nicht nachteilig.
Ich bin mit der Rechenpower bei Nutzung der letzten CNX2-Versionen (64bit) immer sehr zufrieden gewesen. Nur in den alten Versionen war CNX2 wirklich nervig langsam und der Rechner hat sich permanent praktisch untätig gelangweilt.
Die hätten ihr CNX2 weiter machen sollen, die Penner ! :motz:
 
Kommentar
Kannst Du einfach überprüfen:
Lass die Stapellauf mit einer CPU laufen, mach den Stapellauf danach mit 2 Kernen, dann 3 Kernen usw usf. Dann siehst Du recht schön, ab wann es kaum mehr eine Leistungssteigerung gibt, wenn Du CNX mehr CPU Kerne gibst.

Hallo,
hier das Ergebnis:
Kern 0=190 Sek
Kern 0+1=168 Sek
Kern 0+1+2=140Sek
Kern 0+1+2+3=100Sek
Kern 0+1+2+3+4=85Sek
Kern 0+1+2+3+4+5=80Sek
Kern 0+1+2+3+4+5+6=75Sek
Kern 0+1+2+3+4+5+6+7=72Sek
Kern 0+1+2+3+4+5+6+7+8=68Sek
Kern 0+1+2+3+4+5+6+7+8+9=66Sek
Kern 0+1+2+3+4+5+6+7+8+9+10=63Sek
Kern 0+1+2+3+4+5+6+7+8+9+10+11=60Sek
Alle Zeiten mit der Armbanduhr (Sekundenzeiger) gemessen
Die Auslastung der einzelnen Kerne (ein paar Beispiele)

mfg
Franz
 
Kommentar
-Anzeige-
Zurück
Oben Unten