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