mirror of
https://github.com/InstanceBrick/nightcap.git
synced 2026-10-17 18:02:19 +02:00
* perf(runtime, asset, jni): lock-free JNI object resolution, in-memory ETC1 transcode caching, one-time spin guard classification, and host driver environment tuning * fix(jnivm): preserve precise g_known_objects check in PseudoObjectFromRef * perf(jni, linker): fast-path method name matching before class queries and binary search libc symbols * perf(jni, runtime): pre-tagged O(1) jump table for JNI method dispatch and direct main loop message pump without sigsetjmp * perf(legacy_runtime): remove redundant sigsetjmp wrappers across surface updates and memory trimming * Revert "perf(legacy_runtime): remove redundant sigsetjmp wrappers across surface updates and memory trimming" This reverts commit 82e4019f68aa0d2968716a2dc066bc26961d7755. * refactor(legacy_runtime): remove dead alpha DelayedUpdateSurfaceAppThread and redundant post-start surface calls * perf(jnivm, android): lock-free JNI object resolution and zero-allocation asset URI prefixes * perf(runtime, compat): use cached ::gettid and eliminate all remaining detached pthread spawns and busy waits * perf(vulkan, jnivm, legacy): mailbox present rewrite, JNI handle reuse, and dead-code cull Rewrite guest swapchain presentMode at vkCreateSwapchainKHR so vsync:auto and a fixed FPS cap stay on MAILBOX/FIFO_LATEST_READY instead of host-default FIFO. Prefer FIFO_LATEST_READY then MAILBOX, bump vsync minImageCount, treat SUBOPTIMAL as OUT_OF_DATE, and drop the 1s acquire watchdog. Fix JNI local-frame handle leaks (unsigned 32-bit handles, freelist reuse, no intern pool wrap-stomp). Default native_set_roblox_channel on so injected production channel is applied. Remove TM2 .* deny-list, unused OpenGL trim, and leftover legacy_runtime dead code. Leave untracked docs, vulkaninfo dumps, rbx_bin assets, and bpftrace scripts out of this commit. --------- Co-authored-by: glook9001 <310372091+glook9001@users.noreply.github.com>