Wycinki strumieni obiektów bez kopiowania
Gdy rozwiązanie linków po raz pierwszy materializuje skompresowanego członka /Type /ObjStm, parser czyta teraz zerokopijny widok wycinka nad współdzielonym zdekompresowanym buforem kontenera, zamiast zduplikowanego podłańcucha i drugiej kopii strumienia, więc duże dokumenty z wieloma członkami przestają płacić podwójną kopię na obiekt
THPDFObjectStreamSliceStream
Publiczny widok TStream tylko do odczytu nad trójką (źródło, offset, długość): trzyma źródłowy AnsiString przez referencję, więc bajty kontenera pozostają żywe bez ich duplikowania, serwuje dokładnie bajty członka, dokleja jeden wirtualny końcowy LF, żeby parsery obserwowały układ, jaki produkowała dawna kopia, oraz zaciska (clamp) zamiast podnosić wyjątek przy seekach przed początkiem wycinka, naśladując pobłażliwość TMemoryStream
THPDFObjectStreamCacheInfo
Dwie nowe diagnostyki raportują ścieżkę zerokopijną: SliceViewCount liczy widoki członków przekazane parserowi, a SliceViewBytes sumuje pokryte przez nie bajty członków, obok istniejących liczników kontenera, indeksowania, trafień, chybień i bajtów w cache zwracanych przez GetLoadedObjectStreamCacheInfo