mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-08-31 09:45:24 +02:00
memory.read_u8/u16/u32/read/readString/write_u8/u16/u32/write/search all validated their address/size parameters (and, for search, the rest of its param parsing) after already queuing onto the CPU thread. None of that depends on CPU-thread-owned state, so do it upfront instead and fail fast without a round trip through the queue for requests we already know are invalid. Also, for memory.read and memory.readString, only the raw memory copy (which needs replacements/emuhacks disabled) now happens on the CPU thread - the base64 encoding itself happens back on the WebSocket thread afterward, so a large read no longer blocks the CPU thread's frame pump for the encoding work too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Hqm11k99viLfbJm2MkH4BH