Huge minne forbedringer kommer til Firefox 29 er pdf.js PDF-leser
Mozilla lanserte Firefox innebygd PDF-leseren i Firefox 19 for å gi brukerne av nettleseren med et alternativ til plugin-baserte lesere slik som Adobe PDF Reader eller Foxit Reader.
Tanken var å redusere nettleseren avhengighet av plugins, og etableringen av en innebygd PDF-leser gjorde akkurat det for PDF-relaterte plugins.
Mens innebygd i nettleseren direkte, Firefox-brukere kan fortsatt endre den interne pdf viewer hvis de vil. Dette er fornuftig under visse omstendigheter, for eksempel når støtte for funksjoner er nødvendig at PDF.js ikke støtter.
Hvis du har brukt Firefox innebygd PDF-leser du kanskje lagt merke til tider at minneforbruket kan skyte gjennom taket ganske enkelt.
Det er ikke uvanlig at minnebruk hopper av et par hundre megabyte når du åpner PDF-dokumenter i PDF.js. Mens det avhenger i stor grad av selve dokumentet, ser det ut til å være ganske vanlig at minnebruk er høyere enn den burde være.
Mozillas mester i hukommelse Nicholas Nethercote bare bekreftet at forbedringer kommer til PDF.js som forbedrer programmets minneforbruket under visse vilkår betydelig.
Han påpeker at PDF-seerne høyt minneforbruk sikret den en plass på topp 5 liste over Mozillas MemShrink prosjekt.
Nicholas gjennomført fire forbedringer som reduserer minneforbruket sterkt for visse typer av dokumenter:
bilde Masker - Disse typer bilder bestemme hvilke deler av et bilde trenger å bli trukket. Endringen hopper en av de behandlingstrinn helt Noen som reduserer minnebruk når slike bilder blir behandlet betydelig. Nicholas merke en reduksjon i minneforbruket med opptil 50%
Bilde kopier -. Noen pdf-dokumenter består kun av bilder som har blitt lagt til det (ett bilde per side). PDF.js gjør fem eksemplarer av hvert bilde (tre i Javascript, 2 i C ++). Nicholas klart å redusere størrelsen på kopiene 3 til 5 uten å forårsake noen slow-downs i prosessen. I tillegg er noen behandlingstrinn hoppet så vel "i enkle tilfeller" som reduserer minneforbruket ytterligere. Ifølge Nicolas, sparer dette om "128 MiB av bevilgninger" per side
Black and White skannede dokumenter -. Det samme optimalisering teknikk som ble brukt til å optimalisere bilde Masker har blitt brukt til svart-hvitt skannede dokumenter samt . Ved å unngå ett trinn, både minneforbruk og rendring tid er redusert betydelig. Nicholas nevner én stor PDF-dokument som brakte Firefox minneforbruket til 7800 MiB mens raskt rulle til det. Med lappen brukt, falt til ca 700 denne MiB
Parsing -. Den eneste økt som ikke er relatert til bildene. Strings analyseres av PDF.js er ofte kortere enn det som kreves for å bli optimalisert av Spidermonkey er streng optimalisering funksjonen. Nicholas klarte å komme rundt dette ved å kombinere strenger å arrays.
Endringene forbedre Firefox har innebygd pdf-leser betraktelig når dokumenter som har nytte av disse optimaliseringene er åpnet. Dette inkluderer minneforbruk i hovedsak, men kan også forbedre lasting tid på PDF-dokumenter.
Endringene vil bli lansert med Firefox 29, som betyr at Aurora og Nightly brukere dra nytte av dem allerede.
Nå Les: Slik nullstiller tilpasset pdf konfigurasjoner i Firefox