Ositettu ladattujen kuvien dekoodausvälimuisti

HotPDF yhdistää itsenäisesti lukitut välimuistin metatiedot tarkkaan avainkohtaiseen singleflight-koordinointiin

Rinnakkainen työ

Kuusitoista metatieto-osaa rajoittaa kilpailua haun, hyväksynnän ja poiston aikana, kun kallis kuvien dekoodaus suoritetaan välimuistin lukkojen ulkopuolella

Eri avainten pyynnöt voivat dekoodata samanaikaisesti, ja saman avaimen pyynnöt valitsevat yhden omistajan, jonka valmis tulos jaetaan kaikille odottaville soittajille

Globaalit rajat

ImageCacheMaxBytes, suurin merkintämäärä ja suurin merkintäkohtainen koko koskevat kaikkien osien yhdistettyä sisältöä

Osien välinen karsinta säilyttää tarkat määritetyt rajat ja välttää juuri lisätyn osan valitsemista, kun toinen osa voi täyttää poistopyynnön

Omistajuus ja elinikä

AcquireLoadedImageStream ja AcquireLoadedImageRegionAtResolution palauttavat muuttumattomia viittauslaskettuja kahvoja, joten lämpimät osumat ja singleflight-odottajat jakavat dekoodatun tallennustilan kopioimatta pikseleitä

Kahva pysyy kelvollisena välimuistin poiston, mitätöinnin ja asiakirjan tuhoamisen jälkeen, kun taas CreateBitmapCopy tarjoaa eristetyn soittajan omistaman bittikartan, kun muuttuvia pikseleitä tarvitaan

Vanhat välimuistiin tallennetut dekoodausmetodit säilyttävät soittajan omistaman TBitmap-sopimuksensa muodostamalla yhden kopion kahvasta

Telemetria

GetImageDecodeConcurrencyInfo paljastaa reaaliaikaiset ja kumulatiiviset samanaikaisuuslaskurit

Laskurit paljastavat kahvojen hankinnat, yhteensopivuusbittikarttakopiot ja kopioidut tavut rinnakkaisten omistajien ja singleflight-toiminnan lisäksi

Liittyvät API:t

IHPDFDecodedBitmapHandle · AcquireLoadedImageStream · AcquireLoadedImageRegionAtResolution · THPDFImageDecodeConcurrencyInfo