Sag ich doch, man müßte mal einfach das gleiche Videofile einmal mit iVi und einmal mit Handbrake und in etwa ähnlichen Transcodingparametern nacheinander laufen lassen. Ist hier iVi deutlich schneller, dann ist auch die höhere Rechenlast und damit nötige Kühlung erklärbar!
Überhaupt nicht. Diese Implikation ist nicht korrekt. Wenn ivi schneller ist, kann das daran liegen, dass er z.B. nur subme 7 statt 8 genutzt wird. Es gibt tausende solche Parameter und viele davon haben einen entscheidenden Einfluss. Solange dir die Software nicht erlaubt zumindest alle einzusehen, oder gar zu verändern, ist ein solcher Vergleich zweier Programme nichts-sagend.
Schließlich ist ein Kern auch ausgelastet, wenn der just auf ein Datenwort wartet, welches gerade aus dem DRAM oder gar Auslagerungsspeicher beschafft wird...
Das ist so nicht richtig. Der Kern ist dadurch nicht blockiert, ein anderer wird dann "dran genommen". Genau das ist der Grund, weshalb es Multithreading auch auf Single Core CPUs (Pentium 4) gibt und etwas bringt: während ein Prozess stalled, wird der nächste dran genommen, um eben nicht sinnlos rumzuwarten.
Deine aufgezeigtes Szenario mit den beiden aufeinander wartenden Threads ist bei ffmpeg definitiv nicht der Fall, ansonsten würde es ja nicht so linear skalieren wie es es Fall ist, das ist ausreichend geprüft/gemessen. Das genannte Verhalten wäre ein Fehler. Ein gestallter Kern zeigt bei mir übrigens keine Auslastung. Solch einer wird auch direkt "aus" der CPU genommen und andere kommen dran. Das ist übrigens idT eine Problembeschreibung: Software skaliert
nicht richtig, wenn sie bei zunehmender Kernzahl nicht auch volle Auslastung auf diesen produzieren kann, weil beispielsweise Threads auf sich gegenseitig oder Daten warten.
Dieses Problem findet sich auch bei x264 (bzw. lässt sich provozieren): ein paar Lookahead Operationen sind nur Single Threaded. Wenn diese so kompliziert gemacht werden, dass sie ewig brauchen, dann warten die restlichen Threads je auf diesen. Darum skaliert x264/ffmpeg in Tests (wenn ich mich recht erinnere) am besten bis 6 Kernen, bei richtig starken/anstrengenden Settings gibt es bei der Steigerung auf 8 bzw. 12 (virtuelle) Kerne keine lineare Skalierung mehr (= es ist keine Vollauslastung mehr möglich, da Threads warten müssen).
Handbrake nutzt ffmpeg, ivi laut google auch.