Zero-copying on Android
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- android, rust
- Ambito
- mobile, performance
Direzione di ricerca
Inizia da NativeWindowBufferLockGuard::bytes e drop, poi analizza il comportamento di Surface::buffer_mut di Softbuffer per confronto. Determina se i buffer Android possono evitare un passaggio esplicito di azzeramento e come unlock e present debbano essere separati; il lavoro è concluso quando entrambe le questioni rimanenti di zero-copy su Android, ancora non spuntate, sono state risolte in modo coerente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
There's a few things that make zero-copying difficult on Android:
- Buffers are in
RGBXformat instead ofBGRX. Should be fixed by github.com/rust-windowing/softbuffer/pull/289. - Buffers have stride. Should be fixed by https://github.com/rust-windowing/softbuffer/pull/315.
- Buffers are exposed as
&mut [MaybeUninit<u8>], seeNativeWindowBufferLockGuard::bytes. Is this really necessary, or could we rely on the buffer being zero-initialized? If not, we'll have to do a zeroing step ourselves inbuffer_mut. - The surface is both unlocked and presented in
NativeWindowBufferLockGuard::drop, whereas Softbuffer allows these two steps to be separate (e.g. you canDropan in-progressBuffer<'_>and request a new one inSurface::buffer_mut, with no side-effects).
Maybe the SurfaceControl stuff @MarijnS95 is working on will allow fixing the last point?
- Lingua principale
- Rust
- Stelle
- 507
- Fork
- 85
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
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 rust-windowing/softbuffer
-
DS - X11
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
rust-windowing/softbuffer#368 ·
-
`Buffer<'_>` shouldn't be `Send`Forse già presa @Guflly l’ha presa 69 giorni fa. Apertabug DS - Android NDK
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rust-windowing/softbuffer#347 · 1 commento ·
-
Needs Design Work
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
rust-windowing/softbuffer#342 · 1 commento ·
-
enhancement question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
rust-windowing/softbuffer#338 ·
-
DS - Wayland DS - X11 question
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
rust-windowing/softbuffer#306 · 2 commenti ·
Tutte le issue di rust-windowing/softbuffer
Issue simili
-
[Bug]: Web chat input doesn't regain focus after a reply finishesForse già presa @GaijinSystems l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
zeroclaw-labs/zeroclaw#11658 ·
I maintainer di solito rispondono entro 2 giorni
-
good first issue help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
NuSkooler/enigma-bbs#907 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno