Skip to content

Uncompressed frame buffer pool#60

Merged
ruccho merged 7 commits intomainfrom
feature/shared_buffer_pool
Oct 23, 2025
Merged

Uncompressed frame buffer pool#60
ruccho merged 7 commits intomainfrom
feature/shared_buffer_pool

Conversation

@ruccho
Copy link
Collaborator

@ruccho ruccho commented Oct 20, 2025

Closes #57

  • Adds SharedBufferPool, which is a frame buffer pool for uncompressed frames shared between C# and Rust.
    • Frame buffers are allocated from C# world and passed to unienc without copies, and its lifetime is migrated to Rust world.
    • SharedBufferPool has a limit of total size of buffers. Frames will be dropped when there is no space to allocate new buffers.
    • It helps us to reduce runtime memory allocations.
  • Adds ILogger to make it possible to redirect all logs from Instant Replay.
  • Sets unienc panicking behavior to abort, making stacktraces easier to analyze.
    • With default configuration unwind, crash report will contain a stacktrace of Rust's panic handler and it doesn't let us know cause of the panic (details are wrote to stderr), but with abort, the stacktrace will contain exact callers of panicking code.

@ruccho ruccho force-pushed the feature/shared_buffer_pool branch from 0c52cee to 7d5511c Compare October 22, 2025 05:13
@ruccho ruccho marked this pull request as ready for review October 22, 2025 05:19
@ruccho ruccho requested review from hkmt-mmy and qua-iy October 22, 2025 05:20
@ruccho ruccho merged commit 6ff73c1 into main Oct 23, 2025
@ruccho ruccho deleted the feature/shared_buffer_pool branch October 23, 2025 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Frame buffer pool for uncompressed images

3 participants