Support for high density monitors with devicePixelRatio
@Absulit ci sta già lavorando.
Dal 2/6/2026.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 65/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- javascript
- Ambito
- computer-graphics, frontend
Direzione di ricerca
La issue riguarda il ridimensionamento del canvas per monitor ad alta densità. Esamina l’utilizzo di ResizeObserver nel frammento di codice, probabilmente in un modulo di gestione del canvas. Inizia individuando dove il canvas viene inizializzato e ridimensionato, quindi integra il supporto per devicePixelRatio come mostrato. Esegui il test avviando la libreria su un display High-DPI e verificando che il rendering del canvas sia nitido.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
This is related to #299
Required for high density monitors and the HTML in Canvas to not look blurry, it needs to support the device pixel ratio
const observer = new ResizeObserver(this.#resizeCanvasToFitWindow);
const supportsDevicePixelContentBox =
typeof ResizeObserverEntry !== 'undefined' &&
'devicePixelContentBoxSize' in ResizeObserverEntry.prototype;
const options = supportsDevicePixelContentBox ? { box: 'device-pixel-content-box', signal } : { signal };
observer.observe(this.#canvas, options);
#resizeCanvasToFitWindow = (entries) => {
// there are some calls of this function that do not have entries
// because of this, clientWidth and clientHeight values are used
const entry = entries?.[0];
this.#screenResized = true;
if (this.#fitWindow) {
const width = entry?.contentRect?.width || this.#canvas.clientWidth;
const height = entry?.contentRect?.height || this.#canvas.clientHeight;
const dpc = entry?.devicePixelContentBoxSize;
this.#canvas.width = dpc ? dpc[0].inlineSize : Math.round(width * window.devicePixelRatio);
this.#canvas.height = dpc ? dpc[0].blockSize : Math.round(height * window.devicePixelRatio);
this.#setScreenSize();
this.#frame()
}
}
- Lingua principale
- JavaScript
- Stelle
- 56
- Fork
- 5
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Absulit/points
-
binding ids don't matchForse di nuovo libera @Absulit l’ha presa 113 giorni fa e non c’è nessuna pull request aperta. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
-
Generate a default canvas instead of assigning oneForse di nuovo libera @Absulit l’ha presa 136 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement good first issue
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Implement Spark texturesAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
-
Implement immediatesForse di nuovo libera @Absulit l’ha presa 142 giorni fa e non c’è nessuna pull request aperta. Apertacanned enhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
On screen resize, blank frames are displayedForse di nuovo libera @Absulit l’ha presa 142 giorni fa e non c’è nessuna pull request aperta. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Tutte le issue di Absulit/points
Issue simili
-
needs-website-changes
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
[Feature] 已有证书托管支持拖拽上传Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
-
[Bug]: [A11y] Missing accessible name on icon-only standalone links (WCAG 2.1 SC 2.4.4, 4.1.2)Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
jaegertracing/jaeger-ui#4596 ·
I maintainer di solito rispondono entro 1 giorno
-
Add: CNC Region Calima [CO]Apertachannels:add check:passed
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
I maintainer di solito rispondono entro 9 giorni