THotPDF.RenderLoadedPagesParallelOrdered Method
Kokoaa ja renderöi ladatut sivut samanaikaisesti toimittaen valmiit bittikartat syöttöjärjestyksessä rajatun kutsusäikeen takaisinkutsun kautta
Määrittely
function RenderLoadedPagesParallelOrdered(
const PageIndices: array of Integer; DPI, MaxConcurrency,
OutputQueueDepth: Integer; Callback: THPDFParallelRenderPageEvent): Integer; overload;
function RenderLoadedPagesParallelOrdered(
const PageIndices: array of Integer; DPI, MaxConcurrency,
OutputQueueDepth: Integer; Callback: THPDFParallelRenderPageEvent;
out Info: THPDFParallelRenderPipelineInfo): Integer; overload;
Takaisinkutsu ja omistajuus
Callback suoritetaan sarjallisesti kutsusäikeessä nollapohjaisen syöttöpaikan, pyydetyn sivuindeksin, lainatun bittikartan ja peruutuslipun kanssa
Bittikartta on voimassa vain takaisinkutsun keston ajan ja vapautetaan heti takaisinkutsun palattua, joten kopioi tai koodaa se takaisinkutsun sisällä, kun tuloksen on säilyttävä sen kutsukerran yli
Aseta Cancel lopettaaksesi uusien sivujen vaatimisen, herätäksesi estetyt työntekijät, liittyäksesi lennossa olevaan työhön, vapauttaaksesi julkaisemattomat tulokset ja palauttaaksesi valmistuneiden takaisinkutsujen lukumäärän
Takaisinkutsun peruutus herättää myös muistivaraa odottavat työntekijät kääntämättä kyseistä sisäistä herätystä virheeksi; ulkoinen peruutustokeni tai takaisinkutsun poikkeus raportoi edelleen epäonnistumisen siivouksen jälkeen
Takapaine
OutputQueueDepth rajaa valmiit bittikartat mukaan lukien takaisinkutsussa aktiivisen bittikartan; ykkösen alapuoliset arvot valitsevat tehokkaan työntekijälukumäärän, ja sivulukumäärän yläpuoliset arvot puristetaan
Ajoittaja varaa tulostuskapasiteetin seuraavalle vaaditulle syöttöpaikalle, joten myöhemmät sivut eivät voi täyttää jonon ja estää järjestettyä edistymistä, kun aikaisempi sivu kootaan hitaammin
Kun PeakMemorySchedulerEnabled on käytössä, pyydetty rinnakkaisuus vähennetään suurimman sivuarvion ja tällä hetkellä käytettävissä olevan globaalin budjetin avulla, ja jokainen sivuvara pysyy aktiivisena työn vaatimisesta, kunnes sen lainattu bittikartta poistuu takaisinkutsusta
Muistivaraukset pyydetään syöttöjärjestyksessä ennen rinnakkaista kokoamista ja hahmontamista, joten myöhemmät sivut eivät voi ottaa seuraavan takaisinkutsun tarvitsemaa budjettia
Jonotettu tuloste kilpailee siksi reilusti aktiivisen kokoamisen ja toiston kanssa samasta prosessinlaajuisesta budjetista, kun taas peruutus tai epäonnistuminen vapauttaa julkaisemattomat varaukset ennen työntekijöihin liittymistä
Takaisinkutsu ei saa muuttaa eikä tuhota dokumenttia, kun työntekijät ovat aktiivisia
THPDFParallelRenderPipelineInfo · Näyttölistat ja painotuotanto