CPU Last bei Handbrake weniger als 25%

beckermann

Ensign
Registriert
Sep. 2010
Beiträge
156
Hallo.

Ich bitte um Rat/Hilfe bei meinem Problem.
Bitte um Entschuldigung, wenn ich im falschen Bereich bin.

Mein System:
Core i7-2600k @3.900
16GB RAM DDR3
CPU-Z 1.69.2 zeigt an: PC3-10700 667 MHz Kingston CAS#/RAS#/RAS#/Cycle 9:9:9:24 Command Rate 2T

Samsung 256 GB SSD 840, dort 142 GB frei
Win 7 Prof 64 Bit auf anderer SSD Samsung 128 GB SSD 830, dort 98 GB frei

Mein Problem:
Ich komprimiere meine selbst gedrehten Video Dateien, um sie ins Internet hochzuladen.
Dazu nutze ich Handbrake 0.9.9.5530 64 Bit
Bei der Konvertierung haben alle 4/8 Kerne nur wenig zu tun.
Keiner der 4/8 Kerne hat mehr als 50% Auslastung.
Insgesamt liegt die CPU-Auslastung bei weniger als 25%.

Ich setzte bei Handbrake Filter ein:
Denoise: Strong
Deblock: 6


Oft bearbeite ich die Tonspur meiner Videos separat mit Audacity (vor oder nach der Video-Komprimierung, niemals gleichzeitig).
Bei MP3 Komprimierung von Dateien mit Audacity habe ich ein ähnliches Verhalten.
Dort nutze ich die Lame.dll in Audacity.

Wo könnte in meinem System der Wurm drin sein?
Ein schneller Prozessor, der sich langweilt?

Die Festplatten-LED blinkt während der Arbeiten nur sporadisch.
Daher tippe ich darauf, dass es wohl nicht an der SSD liegt.

Was haben wir noch an Komponenten... der RAM.
Wie kann ich das aktuelle Arbeitstempo vom RAM auslesen?
Die Auslastung vom RAM in MB/GB kann ich ablesen. Aber das Tempo?
Könnte es überhaupt sein, dass mein RAM zu langsam ist?

Mit Everest Home Edition 2.20.405 habe ich meinen RAM benchen lassen.
Gut, das Programm ist schon sehr alt. Trotzdem kann das Ergebnis vielleicht etwas sagen.

Speicher Lesedurchsatz: 15.998 MB/s
Zweitbester in der Liste: 7.630 MS/s P4EE 3733 MHz

Speicher Schreibdurchsatz: 9.057 MB/s
Zweitbester in der Liste: 2.980 MB/s P4EE 3733 MHz

Speicherverzögerung: 7.9 ns
Zweitbester in der Liste: 45.6 ns Athlon 64 3500+


Wenn ich große Dateien mit 7-Zip komprimieren lasse, komme ich auch auf keinem der 4/8 Kerne auf mehr als 50%.
Insgesamt nur 20% CPU-Auslastung.


Welche Informationen werden noch benötigt?
Was könnte ich versuchen oder einstellen?

Danke für alle Tipps.

Gruß
Becki
 
Einstellungssache.

Wenn ich ein h264 Video mit AAC Ton umwandele habe ich eine Auslastung von 800% sprich alle meine 4 echtern Kerne und alle 4 HT Kerne sind auf 100%.

Liegt also eindeutig an den Falschen Einstellungen bzw. dem falschen Codec.
 
Der MP3 Codec nimmt glaub ich nur einen Kern, das wäre damit also klar.
Bei 7-Zip kommt es auf das Format, bzw die Einstellungen an, da kannst du ja die Kerne angeben, die genutzt werden sollen (jedenfalls im .7z Format). Das geht auch nur dann, wenn deine Platten schnell genug sind, sonst ist die CPU schneller als die Festplatten.

Du komprimierst von SSD auf SSD? Dann sollten die Platten als Bremse schonmal ausgeschlossen sein...
Dein RAM wird nicht zu langsam sein.

Edit: Welche Settings nutzt du in Handbrake?
 
@garbel

Das wird auch ncihts bringen. Es ist eindeutlich eine Einstellungssache.
 
Hab gerade mal versucht mit der aktuellen Version etwas zu codieren.

Settings: Container: mkv
Width: 1920 Height: 800
Denoise: Strong
Deblock: 6
Codec: H.264 (x264)
FPS: Same as source
x264 Preset: Slow
H.264 Profile: High
H.264 Level: 5.0
Constant Quality: 20 RF

Audio: Passthru

Auslastung bleibt ein paar Sekunden zwischen 22 und 27 und geht dann konstant auf 95 - 100 hoch.

Welche Einstellungen nutzt du?
 
Cool Master schrieb:
Es ist eindeutlich eine Einstellungssache.

Dann aber keine von Handbrake; da kann man doch gar nicht einstellen, wie viel Kerne genutzt werden sollen o. Ä. (jedenfalls nicht in dem GUI)
 
Danke schon mal für alle Tipps.

Meine bisherigen Einstellungen:

Kein Audio.

Video Codec:
H.264 (x264)
Framerate: Same as source
Variable Framerate
Constant Quality: 20 RF

Kein Haken bei "Use Advanced Tab"
x264 Preset: Very Fast
x264 Tune: none
H.264 Profile: Main
H.264 Level: 4.0


Ich habe mal die Einstellungen aus dem Post von Spi12 genommen, also:
Settings: Container: mkv
Width: 720 (mein Video ist nicht größer)
anamorpic: loose
Modulus: 2
Cropping: automatic
Denoise: Strong
Deblock: 6
Codec: H.264 (x264)
FPS: Same as source
variable Framerate
x264 Preset: Slow
H.264 Profile: High
H.264 Level: 5.0
Constant Quality: 20 RF
Kein Audio, also vorhandene Tonspur entfernen

Als Ergebnis bekomme ich etwa 50% Gesamtauslastung der CPU, auch nach Minuten.
Anzeige im Windows Task-Manager.

Schalte ich jedoch den Filter Deblock aus (von vorher 6), dann bekomme ich auch nahezu 100% insgesamt.
Alle 4/8 Kerne sind ausgelastet.

Denoise: Strong kann bleiben.

Sobald ich Deblock wieder auf 5 oder 6 stelle, dümpelt der Prozessor zwischen 30,45 und 60%
Keiner der 4/8 Kerne kommt über 60%.
Manchmal fällt einer der 8 Kerne-Balken komplett auf 0, während die anderen 7 weiter auf etwa 60% arbeiten.

Also: auch mit den Einstellungen von Spi12 komme ich nicht über 60% CPU-Auslastung, wenn ich Deblock auf 5 oder 6 oder höher stelle, auch völlig ohne Audio

Sobald ich Deblock auf 0 stelle, rennt es bei nahezu 100%. Vollauslastung auf allen 4/8 CPU-Balken.

Ich dürfte dem Task-Manager glauben, denn der CPU-Lüfter arbeitet sofort hörbar, sobald mir die 100% Last angezeigt werden.
Bei der 60%-Last arbeitet der CPU-Lüfter dementsprechend weniger.

Das Problem konnte ich somit schon eingrenzen auf den Filter "Deblock".
Jetzt stellt sich mir die Frage, weshalb es bei anderen hier im Thread TROTZ eingeschaltetem Filter Deblock auf 100% kommt, aber bei mir bisher nicht.

Gruß
Becki
 
Zuletzt bearbeitet: (Settings des Tests hinzugefügt.)
Ich muss mich da noch einmal korrigieren, sorry... :(

Kann dein Problem so nachstellen.

Deblock scheint auf einen Kern maximal begrenzt zu sein.

Edit: Ist das Deblocking nötig bei deiner Quelle?
Ich wollte das Problem gerade nochmal mit MeGUI (umfangreicher als Handbrake, dadurch aber auch komplizierter) nachstellen, allerdings kann man da nur deblocken, wenn eine MPEG2 Quelle eingelesen wird.
 

Anhänge

  • deblock_6_720.png
    deblock_6_720.png
    61,8 KB · Aufrufe: 369
  • deblock_6_1920.png
    deblock_6_1920.png
    62,9 KB · Aufrufe: 357
  • deblock_off_720.png
    deblock_off_720.png
    63,8 KB · Aufrufe: 341
  • deblock_off_1920.png
    deblock_off_1920.png
    64 KB · Aufrufe: 360
Zuletzt bearbeitet:
garbel schrieb:
Dann aber keine von Handbrake; da kann man doch gar nicht einstellen, wie viel Kerne genutzt werden sollen o. Ä. (jedenfalls nicht in dem GUI)

Muss man auch nicht. Es kommt aber auf die Bibiliothek an welche man nutzt. So nutzt z.B. beim Umwandeln von MKV in ein M4V Container die Bibi nur ein Kern statt alle 8 (bei mir).
 
Spi12 schrieb:
Deblock scheint auf einen Kern maximal begrenzt zu sein.

Edit: Ist das Deblocking nötig bei deiner Quelle?.


Hallo.

Das Deblocking ist nötig wegen der oft extrem schlechten Bildqualität der Quelle (Kamera).

Die Sache mit dem nur einen, möglichen Kern wäre mir nicht verwunderlich, wenn denn wenigstens ein einziger Kern auf Vollausschlag kommen würde. Keiner der 4/8 Kerne kommt auf Vollausschlag.

Vollausschlag auf einem einzigen Kern habe ich schon erlebt bei z.B. MP3-Lame-Komprimierung aus WAV-Dateien. Soweit kann ich es verstehen, wenn ein Programm-Teil sich nicht skalieren (verteilen) lässt auf mehrere Kerne.

Aber unverständlich ist mir, weshalb keiner der Kerne mehr tut, als er eigentlich könnte.
Wie gesagt, wenn auch nur ein einziger der 8 CPU-Balken auf Maximum wäre, würde es mich nicht so verwundern.

Ich bin kein Programmierer, aber ich habe ein Verständnisproblem war die CPU-Leistung betrifft.
Angenommen, irgendeine Routine der Software wäre extrem ineffizient programmiert.
Dann sollte doch zumindest ein Kern auf Vollausschlag kommen können, oder verstehe ich das falsch?
Von absichtlichen Warte-Zyklen im Programm mal abgesehen.

Gruß
Becki
Ergänzung ()

Cool Master schrieb:
Es kommt aber auf die Bibiliothek an welche man nutzt. So nutzt z.B. beim Umwandeln von MKV in ein M4V Container die Bibi nur ein Kern statt alle 8 (bei mir).

Die Quelle ist mal eine MKV oder mal eine MPEG4 Video (H264) M4V Datei vom Windows Movie Maker 2012
Das Ziel ist immer eine MKV Datei.

Gruß
Becki
 
Zuletzt bearbeitet: (Ergänzung, um auf beide Fragen eingehen zu können.)
Da Windows den auf einen Kern limitierten Thread permanent von einen Kern zum nächsten schiebt, um die Temperatur möglichst gering zu halten, kann man im Taskmanager nicht ablesen wie viele Kerne tatsächlich benutzt werden. Man kann bestenfalls einen Rückschluss darauf ziehen wenn zB. dauerhaft 25% oder 50% Gesamtauslastung angezeigt wird.
 
beckermann schrieb:
Ich bin kein Programmierer, aber ich habe ein Verständnisproblem war die CPU-Leistung betrifft.

Merkt man ;)

Ich bin Programmierer und 20% Auslastung ist ok. Mach mal 20% mal 4 :) Du hast effektiv eine Auslastung von 80%, wenn du ein Single Kern Prozessor hättest. Da du aber ien Quad hast kommst du simit nur noch auf 20%. Das ist völlig normal. Wie ich schon sagte wenn ich eine MKV zu einer M4V mache und den Inhalt einfach durchgebe (pass through) habe ich auch nur rund 15% Auslastung mit MP4Tools (OS X) weil FFMpeg dafür nur eine Kern benötigt und diesesn nicht völlig auslastet.

Deblocking kann halt nur ein Kern und ist der limitierende Faktor. Das ganze kann man gut vergleichen:

Deblocking = LKW
Rest = PKW
Spurbreite = 1 (weil 1 Kern)

Der LKW fährt nun ganz vorne und alle PKWs (sprich alle anderen Bibiliotheken, Einstellungen) müssen hinterherfahren. Die PKWs kommen nun eben nicht vorbei weil kein Platz da ist da der LKW alles blockiert.

Also wie gesagt:

Alles normal :)
 
  • Gefällt mir
Reaktionen: DON.HEROUR
Gut, dann danke ich allen hier für die Tipps.

Es wird dann wohl so sein, dass der Filter "Deblock" nur einen Kern nutzen kann.
Damit kann ich leben. Wem es nicht passt, darf gerne einen besseren Filter programmieren...
Ich bin froh, dass der Filter wenigstens auf einem Kern läuft.

Ich habe nun auch lernen dürfen, dass ein einzelner Prozess über die Kerne "wandern" darf und nicht zu 100% gezählt wird, wie ich es erwartet hätte.

Somit ist mir nun klar, dass es gar kein Problem ist.

Dankeschön an alle für die Hilfen.

Gruß
Becki
 
Zurück
Oben