Skip to content

v3.3

Latest

Choose a tag to compare

@Coder787-source Coder787-source released this 05 Sep 21:44
· 5 commits to main since this release

KytyPlus v3.3 Release Notes

Overview

v3.3 focuses on stability improvements, better timeout handling, and improved debugging capabilities.

Changes

🔧 GPU & Rendering Improvements

  • Fence wait timeouts: Added 10-second timeout to fence waits in CommandBuffer::WaitForFenceOnly() to prevent infinite hangs on driver issues or fence signaling problems.
  • Master semaphore timeouts: Added 30-second timeout to MasterSemaphore::Wait() to prevent hanging indefinitely on semaphore wait issues.
  • Command buffer reuse: Improved BeginNext() logic with progressive fallback attempts before growing the command buffer pool. Added last-resort wait for master semaphore before creating new buffers.

🔊 Audio Improvements

  • Tighter audio buffering: Reduced target latency from 40ms to 30ms for more responsive audio.
  • Faster buffer management: Reduced max queued buffers from 16 to 8, decreased wait timeout from 200ms to 100ms, and increased check frequency (500μs sleep vs 1000μs).
  • Improved audio underrun handling: More aggressive clearing of queued audio when waiting too long to prevent stutter during heavy GPU load.

🛡️ Debugging & Validation

  • Vulkan validation enabled by default: Vulkan validation layers are now enabled by default to catch spec violations, resource state errors, and synchronization issues. This helps identify problems earlier and provides better diagnostic information in logs.
  • To disable validation for performance testing, use --vulkan-validation false.

🌐 HTTP/HTTPS

  • HTTP busy-loop fix (v3.1, maintained): HttpWaitRequest now sleeps 10ms between polls instead of returning immediately, preventing CPU spinning and excessive log growth. Deadline-based timeout support added.

Known Limitations

  • Some games may still not boot or may crash - emulation is beta software
  • Vulkan validation adds overhead; may impact performance on some systems
  • HTTPS/HTTP functionality is functional but may not work for all game-specific network requests
  • Oodle/Kraken decompression remains unsupported in self-contained builds

Upgrade Notes

  • Vulkan validation is now enabled by default. If you experience performance issues and your games work fine, you can disable it with --vulkan-validation false.
  • The timeout changes should prevent hangs but may change timing slightly in edge cases.

Testing

Tested HTTPS connectivity to:

  • google.com ✅
  • github.com ✅
  • api.github.com ✅
  • kytyps5.github.io ✅

TLS 1.2/1.3 support confirmed via mbedTLS configuration


Thank you to all testers and contributors!