Zero-copying on Android
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- android, rust
- 領域
- mobile, performance
調査の方向性
NativeWindowBufferLockGuard::bytes と drop から始め、比較のために Softbuffer の Surface::buffer_mut の動作を追跡します。Android バッファーが明示的なゼロ化の手順を省略できるかどうか、また unlock と present をどのように分離すべきかを判断します。残っている未チェックの Android zero-copy の懸念事項 2 件が一貫して解決されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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?
- 主要言語
- Rust
- スター
- 507
- フォーク
- 85
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
rust-windowing/softbuffer のほかの issue
-
DS - X11
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
rust-windowing/softbuffer#368 ·
-
`Buffer<'_>` shouldn't be `Send`対応中かも @Guflly が 71 日前に担当しました。 オープンbug DS - Android NDK
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
rust-windowing/softbuffer#347 · コメント 1 件 ·
-
Needs Design Work
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
rust-windowing/softbuffer#342 · コメント 1 件 ·
-
enhancement question
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
rust-windowing/softbuffer#338 ·
-
DS - Wayland DS - X11 question
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
rust-windowing/softbuffer#306 · コメント 2 件 ·
rust-windowing/softbuffer の issue をすべて見る
似ている issue
-
area::tern difficulty::easy good first issue kind::cleanup triage::ready
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
eclipse-zenoh/zenoh#2842 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
中文字符导致软件崩溃オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Y-ASLant/ElegantClipboard#172 ·
-
bug documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
SaboLabs/soroban-devkit#341 ·
メンテナーはふだん 1 日以内に返信
-
agent:sonnet-high enhancement priority: P2 ready-for-agent
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
shep-pm/shep-kelpie#652 ·
メンテナーはふだん 1 日以内に返信