Popisi prikaza i tiskarska produkcija

HotPDF kompajlira tokove učitanih stranica u višekratno upotrebljive instance THPDFPageDisplayList s metrikama THPDFDisplayListInfo i ograničavajućim okvirima objekata sadržaja

Renderiranje dokumenata predmemorira kompajlirane liste, dok pozivatelji mogu zahtijevati neovisno vlasničku listu za ponovljeno izvršavanje ili regionalne upite objekata

Dijeljena produkcijska interpretacija

Neprogresivni bitmap, izravni DC, Form i repriza popisa prikaza svi prosljeđuju pre-tokenizirani sadržaj kroz HPDFInterpretContentTokensDevice koji posjeduje prelazak operatora i granice otkazivanja

THPDFPageRenderer implementira IHPDFContentOperatorDevice, tako da zajednički prelazak poziva njegovo potpuno grafičko, tekstualno, resursno, isječno, uzoračko, prozirnosno, označeno-sadržajno i slikovno stanje bez smanjivanja produkcijskog renderiranja na manju semantičku callback površinu

Popisi prikaza predmemoriraju indekse tokena operatora dok se tokovi kompajliraju i repriziraju samo te indekse, izbjegavajući ponovljena skeniranja operanada; THPDFPageDisplayList.OperatorCount i THPDFDisplayListInfo.OperatorCount izlažu predmemorirani broj naredbi

Semantički uređaji koji implementiraju samo IHPDFContentDevice zadržavaju callbacke filtrirane sposobnostima, dok potpuni operatorski uređaji primaju jedan validirani operator istovremeno s jednom kontrolnom točkom otkazivanja po operatoru

Ograničeno i istovremeno iscrtavanje

THPDFRenderTileEvent prima jednu pločicu ili horizontalnu traku veličine pozivatelja istovremeno, držeći vršnu rastersku memoriju neovisnom o veličini cijele stranice

RenderLoadedPagesParallel preklapa kompajliranje popisa prikaza s reprodukcijom, započinje prvu spremnu stranicu bez čekanja potpune kompajlerske barijere, dinamički uravnotežava obje faze kroz ograničene radnike i vraća THPDFBitmapArray u redoslijedu ulaza

Kompajliranje izvršava se izvan brave predmemorije popisa prikaza, dok dvostruko-provjeren prijem i zaštićeni brojači uporabe dopuštaju da nepovezane stranice kompajliraju istovremeno bez dupliciranja objavljenih unosa ili izbacivanja liste tijekom reprodukcije

THPDFParallelRenderPipelineInfo izlaže pogotke predmemorije, kompajliranja, dovršenja, vršnu istodobnost kompajliranja i renderiranja, stranice kompajlirane pri prvom rezultatu, latenciju prvog rezultata i ukupno proteklo vrijeme

RenderLoadedPagesParallelOrdered dostavlja callbackove u redoslijedu ulaza na pozivateljevoj niti i otpušta svaku posuđenu bitmapu nakon što se callback vrati, dok pozivateljem odabrana izlazna dubina primjenjuje producentski povratni pritisak i rezervira jedan utor za sljedeću potrebnu stranicu tako da spora rana stranica ne može uzrokovati zastoj iza kasnijih rezultata

Uređeno tokovno emitiranje zadržava najviše jedan popis prikaza i aktivni render po radniku plus ograničeni red dovršenih bitmapa umjesto držanja potpunog izlaza posla rezidentnim

Priključivi pozadinski sustavi renderiranja konzumiraju iste kompajlirane liste kroz nevlalački prikaz resursa dokumenta, tako da sinkroni i paralelni putevi izbjegavaju ponovno parsiranje sadržaja stranica dok sposobnosti pozadinskog sustava određuju mogu li se pozivi preklapati ili zahtijevaju serijski dispečing

Dispečer vršne memorije za cijeli proces sada ograničava oba paralelna API-ja: najveća procjena stranice smanjuje početni broj radnika, svaka zatražena stranica rezervira svoj potpuni procijenjeni radni skup, a uređani izlaz zadržava tu rezervaciju kroz dostavu callbackova

Otkazivanje dispečera budi čekatelje proračuna na otkazivanje callbacka ili neuspjeh radnika, dok telemetrija izlaže zatražene naspram učinkovitih radnika, vršnu težinu rezervacije, odgođene stranice i zbirno vrijeme čekanja

RenderLoadedPageTilesParallel i RenderLoadedPageBandsParallel dostavljaju posuđene pločice po retcima ili trake od vrha do dna kroz izolirane radnike dok svaki radnik posjeduje najviše jednu pločicu i pozivateljem dostavljen strop radne memorije smanjuje istodobnost prije prvog zahtjeva

Paralelni render konteksti kopiraju nepromjenjive tokene sekvenci glifa Type 3 i polutonske pragovne ekrane iz jedne ograničene LRU predmemorije, čuvajući vlasništvo lokalno za renderer za promjenjivo grafičko stanje i GDI resurse

SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded i SaveLoadedPagesToTiffStreamBanded konzumiraju isti renderer traka kroz tokovne PNG ili TIFF enkodere, tako da vrlo velike stranice ispisuju komprimirani izlaz redak po redak bez držanja potpunog framebuffera dok THPDFBandImageExportInfo izvještava renderirane trake, kodirane retke, radnike, vršne rezervirane bajtove, izlazne bajtove, proteklo vrijeme i otkazivanje

Shared image decoding is coordinated separately so vector page work remains parallel without corrupting decoded-image cache entries

PrefetchLoadedPages zagrijava rasterske unose s posvećenim tokenom otkazivanja uz kompajliranje i renderiranje izvan brave predmemorije, a prednje renderiranje stranica preuzima radnika prije početka rada osjetljivog na latenciju

THPDFLoadedPagePrefetchInfo izvještava raspoređeni, započeti, dovršeni, predmemorirani, renderirani, pali, otkazani i prednjim putem preuzeti rad zajedno s posljednjom i vršnom latencijom otkazivanja

Prozirnost i kontrole ispisa

Poravnavanje prozirnosti prvo provjerava broj prozirnosti popisa prikaza i pozivateljem definiran strop piksela, a zatim zamjenjuje bojanje stranice bezgubnom Flate-kompresiranom kalibriranom RGB slikom

Stranice s bojilima Separation ili DeviceN ostaju kao vektorski sadržaj, s otkrivenim bojilima i statusom očuvanja izloženim pozivatelju

Renderer izvršava prijenosne funkcije i polutonske rječnike Type 1, 5, 6, 10 ili 16 iz ExtGState-a uz očuvanje neovisnih RGB ekrana i njihovih prijenosnih nadjačavanja kroz q i Q

THPDFInkCoverageInfo izvještava prosječnu CMYK pokrivenost, maksimalni ukupni pokrivač površine i broj piksela iznad odabranog praga

Izlaz procesnih i spot ploča podržava bojila DeviceCMYK, Separation i DeviceN

Preuređenje boja učitane stranice koristi isti potpuni renderer za konverziju složenih stranica u Gray, RGB ili CMYK uz zadržavanje jednostavnog sadržaja stranica uređajnih boja kao vektora i primjenu eksplicitne politike spot ploča

THPDFTrappingInfo spaja deklaracije zatvaranja dokumenta, metapodatke stranica i strukturnu dijagnostiku TrapNet-a

ICC tijek rada

Renderirajuća transformacija može kombinirati PDF izvorni profil, prostor bojanja miješanja, profil provjere, izlazni profil i sRGB rastersko odredište

Sve četiri ICC namjere renderiranja i prava kompenzacija crne točke primjenjuju se dosljedno na vektorske boje i slikovne uzorke kroz cjevovod

Potpune transformacije dijele se kroz vektorske, slikovne, stranične i paralelne puteve renderiranja kroz nitno-sigurnu 64 MiB LRU predmemoriju ključanu po sadržajima izvornog, provjernog i izlaznog profila, učinkovitoj namjeri renderiranja i kompenzaciji crne točke

Poravnavanje prozirnosti ponovno koristi isti transformacijski cjevovod, a zatim ispisuje pločice D65 CalRGB bez šavova pod pozivateljem kontroliranim proračunima ukupnog rastro i piksela po pločici

Primarni API-ji