Die Windows-Version von "myCodec" ist in C# programmiert (mit MS Visual Studio 2022 compiliert). Die MacOS-Version wurde mit XCode 14 in Swift 5 programmiert. Die User-Interfaces sind aber sehr ähnlich.
Eine Sprachumschaltung Englisch/Deutsch gibt es allerdings nur in der Apple-Variante. Auch nur dort gibt es eine Restzeit-Anzeige (oberhalb des Fortschritt-Balkens).
Im Vordergrund-Thread werden Ein- und Ausgabe-Datei definiert sowie die zu verwendende Schlüssel-Datei festgelegt
(bzw. erstmalig erzeugt).
Im Hintergrund-Thread wird die Eingabe-Datei stückweise in einen Puffer gelesen, der Pufferinhalt
verschlüsselt und das Ergebnis an die Ausgabedatei angehangen.
Die Aufteilung in Arbeits- und Bedien-Thread erlaubt die Live-Anzeige des Fortschritts (Progress-Bar)
bei gleichzeitiger Erhaltung der Bedienbarkeit (Abbrechen des Vorgangs).
Nach dem Start der Kodierung / Dekodierung erscheint der Fortschritts-Balken nur wenn sich abzeichnet, dass der gesamte Vorgang etwas länger dauert.
Dann mutiert der "Start"-Button zum "Stoppen"-Button. Noch später erscheint dann in der MacOS-Version die Restzeit-Anzeige.
gemessene Verarbeitungs-Zeit [Sek. / GB] :
17 - Intel Core i5-10210U (Win 11)
22 - Intel Core I5-6400 (Win 11)
40 - Intel Core i5 (iMac 2019, MacOS Ventura)
60 - AMD Athlon II X3 425 (Win 10)
480 - Intel Atom Z2760 (Win 10, 32 bit-System!)