Dijeljena predmemorija dekodiranja učitanih slika

HotPDF kombinira neovisno zaključane metapodatke predmemorije s točnom koordinacijom jednog leta po ključu

Paralelni rad

Šesnaest dijelova metapodataka ograničava kontenciju tijekom pretrage, prijema i izbacivanja dok se skupo dekodiranje slika izvodi izvan zaključica predmemorije

Zahtjevi za različite ključeve mogu se dekodirati istodobno, a zahtjevi za isti ključ biraju jednog vlasnika čiji se dovršeni rezultat dijeli sa svim čekajućim pozivateljima

Globalna ograničenja

ImageCacheMaxBytes, najveći broj unosa i najveća veličina po unosu primjenjuju se na kombinirani sadržaj svih dijelova

Obrezivanje među dijelovima čuva točna konfigurirana ograničenja i izbjegava odabir upravo umetnutog dijela dok drugi dio može zadovoljiti zahtjev za izbacivanjem

Vlasništvo i životni vijek

AcquireLoadedImageStream i AcquireLoadedImageRegionAtResolution vraćaju nepromjenjive ručke s brojanjem referenci, pa topli pogodci i čekatelji jednog leta dijele dekodiranu pohranu bez kopiranja piksela

Ručka ostaje valjana nakon izbacivanja predmemorije, poništavanja i uništavanja dokumenta, dok CreateBitmapCopy pruža izolirani bitmap u vlasništvu pozivatelja kada su potrebni promjenjivi pikseli

Naslijeđene metode dekodirane predmemorije zadržavaju svoj ugovor TBitmap-a u vlasništvu pozivatelja materijalizirajući jednu kopiju iz ručke

Telemetrija

GetImageDecodeConcurrencyInfo izlaže žive i kumulativne brojače istodobnosti

Brojači izlažu prikupljanja ručki, kompatibilne kopije bitmapa i kopirane bajtove uz aktivnost paralelnih vlasnika i jednog leta

Povezani API-ji

IHPDFDecodedBitmapHandle · AcquireLoadedImageStream · AcquireLoadedImageRegionAtResolution · THPDFImageDecodeConcurrencyInfo