Native codecs και παράλληλη απόδοση στο FPC

Τα builds Windows FPC μπορούν να χρησιμοποιήσουν το HotPDFFPCCodecs.dll για TIFF, JPEG, JPEG 2000, μετατροπή χρωμάτων LittleCMS, κωδικοποίηση/αποκωδικοποίηση JBIG2 και συμπίεση Zopfli

Η γέφυρα χτίζεται από τα bundled πηγαία αρχεία τρίτων του αποθετηρίου με στατικό C runtime· χρησιμοποιήστε το Lib/thirdparty/FPC/Build-Codecs.ps1 για να παράξετε αντίστοιχα binaries Win32 ή Win64

Αναπτύξτε το αντίστοιχο DLL δίπλα στο executable της εφαρμογής· ο loader χρησιμοποιεί αυτή τη ρητή διαδρομή και ελέγχει την έκδοση ABI, το πλάτος δεικτών και το πλήρες σύνολο exports πριν ενεργοποιήσει τα native codecs

Λείπουσες ή ασύμβατες native βιβλιοθήκες απενεργοποιούν τις δυνατότητές τους με ασφάλεια· τα υποστηριζόμενα Pascal fallbacks παραμένουν διαθέσιμα και οι μη υποστηριζόμενες κλήσεις codec αποτυγχάνουν ρητά

Παράλληλη απόδοση PDF

Η απόδοση σελίδας, ταξινομημένων σελίδων, tile και band στο FPC πλέον χρησιμοποιεί ρητά νήματα εργατών, με την ίδια εισδοχή μνήμης, οριοθετημένες ουρές εξόδου, παράδοση σε ταξινομημένη σειρά στο νήμα καλούντος, ακύρωση και καθαρισμό εξαιρέσεων όπως στο pipeline του Delphi

Η ρύθμιση λειτουργίας, οι πίνακες ICC και οι αναφορές cancellation token συλλαμβάνονται στην αρχή· κάθε εργάτης έχει δικό του renderer, ενώ οι αμετάβλητες display lists και οι συγχρονισμένες caches μοιράζονται

Κρατήστε το έγγραφο ζωντανό και μην επεξεργάζεστε τα περιεχόμενα των σελίδων του όσο τρέχει παράλληλη απόδοση

Η tiled αποκωδικοποίηση JPEG 2000 χρησιμοποιεί επίσης ρητά νήματα εργατών FPC, με ισοδυναμία pixels serial/parallel και συνεργατική ακύρωση

Επαλήθευση

Το Tests/FPC/Run-NativeCodecTests.ps1 ασκεί και τις δύο αρχιτεκτονικές, round trips native codec, λείποντα/ασύμβατα DLL, μειωμένη αποκωδικοποίηση JPEG, πραγματική επικάλυψη νημάτων, ισότητα pixels serial/parallel, σειρά callback, προϋπολογισμούς, ακύρωση και ανάκαμψη μετά από σφάλματα callback