github phforner0/Xendroid-Plus XenDroid-v146-d6dfac08
Xendroid+ 0.3.0-preview.146

pre-releaseone hour ago

Scheduler and file I/O fixes from upstream Xenia Edge: file reads and writes finish the way they do on the console, and kernel timers and DPCs behave like the console's.

  • Reads take about as long as they would on real storage, which some games need in order to load properly. A few games can take some seconds longer to start.

Full Changelog: XenDroid-v144-a107faa9...XenDroid-v146-d6dfac08

What's new

🛠️ Fixed

  • Asynchronous reads no longer hold up a game's render thread, which upstream reports fixes frame drops during races in Project Gotham Racing 3.
  • Opening, querying and renaming files no longer stalls the other game threads on that CPU.
  • Cancelling a file request no longer lets it write into a buffer the game has reused.

Other changes

  • Botão Sponsor do GitHub (#112)
🇧🇷 Em português

Correções do scheduler e da E/S de arquivo do Xenia Edge: leituras e escritas de arquivo terminam como no console, e os timers e DPCs do kernel se comportam como os do console.

  • As leituras levam um tempo parecido com o de um disco real, o que alguns jogos precisam para carregar direito. Alguns jogos podem levar alguns segundos a mais para abrir.

🛠️ Corrigido

  • Leituras assíncronas não seguram mais a thread de render do jogo, o que, segundo o Xenia Edge, corrige quedas de quadros durante as corridas em Project Gotham Racing 3.
  • Abrir, consultar e renomear arquivos não para mais as outras threads do jogo naquela CPU.
  • Cancelar um pedido de arquivo não deixa mais que ele escreva num buffer que o jogo já reutilizou.

Outras mudanças

  • Botão Sponsor do GitHub (#112)
📜 Every change since build 144 · 2 pull requests, 30 commits
  • #112 Botão Sponsor do GitHub · @phforner0
    • Show the sponsor button on GitHub [skip ci] · d5e19a88
  • #110 Upstream: scheduler de fibras e E/S de arquivo · @phforner0
    • [Kernel] Drop the unreachable sole-waiter wake path · 4e108295
    • [Kernel] Boost a thread woken by completed file I/O · ce32dca5
    • [Kernel] Report guest scheduler ready-wait and background counters · 08feaa6e
    • [Kernel] Add an opt-in guest scheduler starvation hack · accda1e0
    • [Kernel/VFS] Guest scheduler pool I/O on concurrency safe devices · 39803b97
    • [Kernel] Guest scheduler to wake only waiting CPU · 1830fbfd
    • [Kernel] Complete async NtReadFile on the I/O pool · 0bdc88e9
    • [Kernel] Wait for synchronous file I/O on a dispatcher object · 2250ebd8
    • [Kernel/VFS] Model storage request timing · 3b5a4d17
    • [VFS] Charge a storage seek only when a read does not continue · 73d78ea4
    • [Kernel] Boost cooperative waiters only when they blocked · 9893f8d1
    • [Kernel] Fix async NtReadFile regressions · 80543975
    • [Kernel] Make the file wait event manual reset · fe5fe60b
    • [Kernel] Complete posted NtReadFile requests like NT · 3ebf6d52
    • [Kernel] Implement KeSetTimerEx and KeCancelTimer · 52f4a1ee
    • [Kernel] Run DPCs queued by a DPC after it returns · 9a9ddced
    • [Kernel] Run a DPC targeted at another processor on that processor · 1cfbb49d
    • [Kernel] Defer guest thread switches at DISPATCH_LEVEL · 1af63edf
    • [Kernel] Run file operations off the dispatch thread · b6c14317
    • [Kernel] Keep RunBlockingIo's failed-poll park from ending on terminate · 5cdef0ae
    • [Kernel] Pend async reads by file system and buffering · ed67bed3
    • [Kernel] Post completion packets only for requests that ask for one · 2fbe2509
    • [Kernel] Complete async writes by file system and buffering · 2ddd41c0
    • [Kernel] Cancel queued file requests in NtCancelIoFile · 4e4f9490
    • [Kernel] Validate file offsets and scatter handles · 792f3516
    • Kernel: a pending file request no longer keeps its own file alive · f9e70412
    • Kernel: report storage waits, file requests, I/O parks and thread placement · 39fe902e

Built by Xendroid+ #146 from d6dfac08, signed with the release key.

File Size SHA-256
XenDroid_Release_d6dfac08.apk 40.6 MiB 8285b792822863e8ea2a00082614969349d6fba30a6ff7b0423119557d3e6764

Don't miss a new Xendroid-Plus release

NewReleases is sending notifications on new releases.