Bedarfserhebung: "Zukunftssicherer" x265 Benchmark

  • Mh, die "unknown" Lines sollte ich noch aus'm Report wegfiltern, die sind für gar nichts. Und die Disks und Grakas muß ich eigentlich auch ned wissen... Mal schaun dann, ob ich das wegbekomme.

    Übrigens, laut Thomsen (ham vorher im ICQ geredet) war die Auslastung der 40 Threads sehr gut. Schaut soweit Mal ok aus, was das angeht.

    Also bei meinem Dual Xeon war die Auslastung auch immer ziemlich am Limit, das funktioniert also echt gut.

  • Jop, wenn ich kommende Woche die Zeit finde (wird sich wohl Mal ausgehen), dann geh ich daran, das mit den <16GB zu versuchen. Wird wohl einiges an Parametertuning brauchen...

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • so. hier mein 8K sub minimal requirements test mit einem 8 kerner und 8GB ram. durch den fehler am ende schreibt er halt leider keine vollständige results.txt..

  • Ein erstes Ergebnis zur Speicherdrückung war Mal nicht von Erfolg gekrönt (YUV 4:4:4 => YUV 4:2:0, also weniger Farbsamples und runter auf 10-bit-per-channel Input). Nach relativ kurzer Laufzeit zeigte sich, daß immer noch über 17GB gefressen worden sind (1GB Decoder, 16.2GB Encoder). Najo, Dreck. Habe jetzt die B-Frames von 16 auf 8 reduziert, was den Speicherverbrauch innerhalb des B-Frame Kontexts quadratisch reduziert. Dadurch wird der Test aber auch schneller, da wird das Inputvideo also evtl. nochmal länger/größer werden müssen, Mal schauen.

    Derweil steht's damit bei 1GB Encoder, 13.3GB Encoder. Mit Abstrichen halt.. aber: Der Parallelität sollten diese Dinge nicht schaden soweit ich es verstehe.

    Edit: 1GB Encoder, 14.1GB Encoder. Verdammt knappe Partie selbst jetzt noch..

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    2 Mal editiert, zuletzt von GrandAdmiralThrawn (6. März 2017 um 15:58)

  • Hast du mal ein Struktogramm fuer den neuen? Ich frage weil ich gerne wissen moechte, was fuer spezifische checks ich machen muss, bevor ich den Benchmark laufen lassen kann.

  • Ich dachte mir schon, daß du bald sowas brauchen würdest!

    Noch hab ich's nicht, aber ich werd mich morgen Mal dransetzen, ich schreib mir ein Notify, damit ich nicht drauf vergesse. Ich hoffe ich habe die Zeit dafür, aber in den nächsten Tagen wird's sicher was.

    Feature Completeness is ned mehr weit weg (ich denke sogar, sie is so ziemlich erreicht), von daher wird das dann hoffentlich schon etwas "relativ" fertiges sein.

    Edit: Es gibt dann aber noch ein paar Besonderheiten, d.h. einige der Checks machen nur auf Windows mit pre-built Binaries Sinn, aber das führe ich dann extra hier aus, wenn der Struktogrammpfusch fertig ist.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (6. März 2017 um 21:39)

  • Ich habe auch mal nen 8K Run während der normalen Nutzung des Rechners getestet. Es ist erstaunlich verträglich, trotz 100% CPU Auslastung. Auch die Temperaturen bleiben verhältnismäßig niedrig.
    Noch als Ergänzung zur CPU-Z Ausgabe: Die CPU läuft mit realen 4120MHz unter Last und das Board ist eigentlich ein P6T Deluxe (Es gibt sich durch nen Bios Crossflash als P6X58D PREMIUM aus. So kann man für die VCore mit Offsets statt absoluten Werten arbeiten.)

  • Mich wundert das, weil is ja doch eine Standard API unter Windows (wobei ich mich eh mit wmic.exe auch habe etwas ärgern dürfen, nur nicht so sehr wie du). Aber ich will dich ja nicht zwingen, die WMI zu nutzen. Wenn du andere APIs auf Windows hast, die dir die selben Daten liefern können, kannst auch die nutzen, z.B. für Disk Space, RAM usw.

    Das ganze muß dann nur die selbe Plattformkompatibilität aufweisen wie mein Code, und sollte nach Möglichkeit ca. den selben Output erzeugen.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • Wobei, wenn AV/FW WMI Calls blockieren würde... dann würde so einiges ned mehr gehen? Aber keine Ahnung.

    Najo, mußte einiges nebenher erledigt bekommen, aber irgendwie habe ich den aktuellen Status Mal snappen können. Hab jetzt rausgefunden, daß Notepad++ auch ein super HTML Exportfeature mit ordentlichem Syntax Highlighting hat, da kann man den Code auch Mal echt schön durch Anklicken der Links lesen. Nur Zeilennummern fehlen leider. Hierda:

    Aktuelle Quellen zur Durchsicht bzw. zum Abgleich mit dem Struktogramm, Snapshot der noch-nicht-ganz-fertigen Alpha 5 (und jo ich weiß, mein Code ist viel zu breit, wegen meiner Bildschirmdekadenz):


    Aktuelles Struktogramm dieser Version (natürlich wieder ein nicht standardkonformer Pfusch, weil ich mich nix auskenne, aber jetzt sollte es für den Programmierer zumindest ein BIßCHEN besser lesbar sein):

    [Blockierte Grafik: http://www.xin.at/x265/files/worklog/development/alpha5/pre/x265%20Benchmark%20Script%20Alpha%205%20preliminary_small.png]
    Struktogramm des oben verlinkten Alpha 5 Snapshots (Klicken zum Vergrößern). NSD Quelle für Structorizer [hier] (Rechtsklicken => Speichern unter...).

    Edit: Es is leider immer noch ein Gemisch aus CLI und GUI, also das Struktogramm. Aber Harrold, das solltest denke ich intuitiv bemerken wenn du über Dinge stolperst, die im Kontext einer GUI so keinen richtigen Sinn ergeben.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    3 Mal editiert, zuletzt von GrandAdmiralThrawn (9. Mai 2017 um 11:25)

  • Ajo, was ich noch dazusagen wollte (kein Edit, damit Harrold dieser Post hier auch auffällt), das ganze ist nich weitgehend plattformspezifisch. Habe ich das jetzt weiter vorne schon erwähnt? Ich bin mir nicht mehr sicher.

    Aber diese Prüfungen von bin\ffmpeg.exe und bin\x265.exe machen auf Linux und UNIX natürlich keinerlei Sinn, weil die von mir vorgegebenen Revisionen/Versionen dort prinzipiell selbst zu kompilieren sein werden, also kannst auch keine Prüfsummen checken. Kommt ja aus jedem Compiler/Linker was leicht anderes raus wegen der Strings usw.

    Daß die Prüfungen der VC++ Redist oder der NT Kernelversion "Windows only" sind, braucht man wohl kaum zu erwähnen. :topmodel: Aber es geht halt noch weiter als nur bis zum Offensichtlichen.

    Mal schaun, für maximale Plattformunabhängigkeit werde ich wohl auf die gute alte sh setzen auf *nix, und nicht auf die Bash. Ich will ein einzelnes Script, daß auch rein mit der sh auskommen kann, ich hoffe das wird was. Anfangs wird die Entwicklungsplattform für das *nix Script dann wohl nicht Linux sein, sondern FreeBSD UNIX.

    Auf meinem Linux schauts nämlich so aus /bin/sh -> /bin/bash. :(

    Also auf *nix braucht man dann nur share/input.h265 und launch_x265benchmark.sh sowie sbin/transcoder.sh zu prüfen, was das angeht. Bei ffmpeg & x265 denke ich an einen simplen "Bist du da?" Check, indem ich auf den Rückgabewert von `which x265´ bzw. `which ffmpeg´ setze.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

  • So, ein neues 8K Inputvideo wurde jetzt hergestellt, damit brauchen 5 Westmere Kerne (einer ist belegt seit Taagen, die Vista VM "sucht Updates", jo na klar :rolleyes:), 10.75h in der Evaluierung unter Linux.

    Das 8K Video mußte um 200 Frames verlängert werden (600 -> 800), weil x265 mit den neuen "lowmem" Einstellungen jetzt deutlich schneller läuft. Ein klein wenig werde ich es wohl noch pushen, damit der Speicherverbrauch noch ein klein wenig sinkt, und die Laufzeit nochmals etwas schneller wird (Reduktion von --bframes 8 auf --bframes 4). Damit mißt das voraussichtlich finale Inputvideo 202MiB statt 127MiB. Immer noch um einiges kleiner als der alte x264 Benchmark..

    Edit: Und es kommt ein neuer Check vor dem RAM Check dazu. Dieser prüft den zur Verfügung stehenden virtuellen Speicher (also RAM + Swap) per wmic OS get TotalVirtualMemorySize (Achtung Harrold: Dieser Wert kommt in kiB daher, nicht in Bytes!).

    Sinn: Mit z.B. 8GB RAM und 8GB Swap soll der Benchmark zwar warnen, aber dennoch laufen, mit Vermerk der "Ungültigkeit". Ist aber wirklich zuwenig Speicher da, kommt es zu malloc() Crashes, weil halt einfach nicht genug Futter da ist. Dieser Check fängt das vorher ab, liefert also einen Fehler, keine Warnung. Schwellwert für virtuellen RAM ist gleich echtem RAM = 16384MiB. Unterschreitet der RAM das, gibt's also eine Warnung, unterschreitet der gesamte virtuelle Speicher diesen Wert, gibt's eine Fehlermeldung und einen Abbruch.

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    2 Mal editiert, zuletzt von GrandAdmiralThrawn (10. März 2017 um 14:08)

  • Hiermit geht die Alpha 5 an den Start.


    Neuerungen:

    • 8K ist nun Standard!
    • Inputvideo: Wechsel von 12-bit YUV 4:4:4 Chroma auf 10-bit YUV 4:2:0 subsampled Chroma, um Decoder-RAM zu sparen (ca. -800MB).
    • Encoder: Wechsel auf YUV 4:2:0 Chroma Subsampling, um Encoder-RAM zu sparen (ca. -15GiB).
    • Encoder: Reduktion der B-Frames von --bframes 16 auf --bframes 4, um Encoder-RAM zu sparen (ca. -4GiB).
    • Inputvideo: Vergrößerung von 500-600 auf 800 Frames und der schnelleren Laufzeit zu begegnen, die aus den Speichersparmaßnahmen resultiert hat.
    • Prüfung virtuellen Speichers eingeführt, damit erkennt das System, ob bei Rechnern mit wenig RAM zuwenig Gesamtspeicher verfügbar ist (RAM+Swap). Bei zuwenig RAM: Warnung! Bei zuwenig virtuellem Gesamtspeicher: Fehler (da kein Betrieb möglich)! Das System rät zur Erweiterung des RAMs bzw. Vergrößerung der Auslagerungsdatei.
    • Neues physikalisches RAM Limit: 16GiB
    • Neues virtuelles RAM Limit: 16GB
    • Duale Prüfsummen eingeführt. Damit können Prüfsummenfehler nicht nur erkannt, sondern auch behandelt werden. Ändert der Nutzer eine Datei bei der dies erlaubt ist und beglaubigt diese mittels launch_x265benchmark.bat --rehash, so wird dies automatisch in der RESULTS.txt und der Terminalausgabe vermerkt. Dateien, deren Abänderung unzulässig ist, lösen bei der Prüfung in jedem Fall einen Fehler+Abbruch aus, solange der Debugmodus inaktiv ist.
    • Wahrscheinlich habe ich wieder iiiiiiiiiiiirgendein Detail vergessen, und deswegen funktioniert der ganze Dreck eh nicht! :spitze:

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"

    Einmal editiert, zuletzt von GrandAdmiralThrawn (9. Mai 2017 um 11:26)

  • Die "zugesicherte Größe" is eh unwichtig, das is nur virtuell allozierter Speicher, der physikalische etwas über 13.1GB, das passt. Bei mir warn's 12.9GB, ganz knapp an 13 dran. Ein klein bißchen Luft nach oben muß schon sein wegen Maschinen mit vielen Kernen (auch wenn die tendenziell dann wohl mehr als 16GiB RAM haben werden).

    Jetzt is nur die Frage wieviele kleine, fiese Bugs noch irgendwo in dem Krautsalat drinsitzen. :rolleyes:

    Aber ich reiß jetzt erst Mal ein Bier auf und geh Anime schaun! :P

    1-6000-banner-88x31-jpg

    Stolzer Besitzer eines 3dfx Voodoo5 6000 AGP Prototypen:

    • 3dfx Voodoo5 6000 AGP HiNT Rev.A-3700

    [//wp.xin.at] - No RISC, no fun!

    QotY: Girls Love, BEST Love; 2018 - Lo and behold, for it is the third Coming; The third great Year of Yuri, citric as it may be! Edit: 2019 wasn't too bad either... Edit: 2020... holy crap, we're on a roll here~♡!

    Quote Bier.jpg@IRC 2020: "Je schlimmer der Fetisch, desto besser!"