Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Zero-copying on Android

オープン
#318 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

@MarijnS95 がすでに取り組んでいます。

2026年2月1日 から。

  • #331 @MarijnS95 による — オープン

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
android, rust

調査の方向性

NativeWindowBufferLockGuard::bytes と drop から始め、比較のために Softbuffer の Surface::buffer_mut の動作を追跡します。Android バッファーが明示的なゼロ化の手順を省略できるかどうか、また unlock と present をどのように分離すべきかを判断します。残っている未チェックの Android zero-copy の懸念事項 2 件が一貫して解決されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

DS - Android NDK enhancement

There's a few things that make zero-copying difficult on Android:

  • Buffers are in RGBX format instead of BGRX. 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>], see NativeWindowBufferLockGuard::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 in buffer_mut.
  • The surface is both unlocked and presented in NativeWindowBufferLockGuard::drop, whereas Softbuffer allows these two steps to be separate (e.g. you can Drop an in-progress Buffer<'_> and request a new one in Surface::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 ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

rust-windowing/softbuffer のほかの issue

rust-windowing/softbuffer の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。