<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>HydroThunderPORT builds on Emulation King</title><link>https://emulationking.com/microsoft/xbox360/games/hydrothunderhurricane/ports/hydrothunderport/</link><description>New builds of HydroThunderPORT on Emulation King</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 17 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://emulationking.com/microsoft/xbox360/games/hydrothunderhurricane/ports/hydrothunderport/builds.xml" rel="self" type="application/rss+xml"/><item><title>HydroThunderPORT v0.9.1</title><link>https://emulationking.com/microsoft/xbox360/games/hydrothunderhurricane/ports/hydrothunderport/#download</link><guid isPermaLink="false">https://emulationking.com/microsoft/xbox360/games/hydrothunderhurricane/ports/hydrothunderport/#-0.9.1</guid><pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;for Windows, for Linux (AppImage)&lt;/p&gt;&#10;&lt;h1&gt;Hydro Thunder Hurricane: Recompiled — 9.1.0&lt;/h1&gt;&#10;&lt;p&gt;Everything since &lt;strong&gt;8.8&lt;/strong&gt;: two stability/visual fixes, a reworked launcher &lt;strong&gt;Controls&lt;/strong&gt; tab, and five engine optimizations (CPU and GPU) that raise FPS &lt;strong&gt;without lowering resolution, MSAA, effects or precision&lt;/strong&gt;. Every optimization has an on/off switch, an exact-equivalence verifier and a positive control (a deliberately broken reference that the verifier must catch).&lt;/p&gt;&#10;&#10;&lt;h2&gt;Performance at a glance&lt;/h2&gt;&#10;&lt;p&gt;Measured on the developer&amp;rsquo;s PC (RTX 5060 Ti, internal 1280×720 → 1080p output, FSR 1), uncapped FPS, Asgard track. The scene is the same boat-at-the-dock spot in every run, so results are directly comparable. Each step was A/B-tested with the same binaries and only its switch toggled.&lt;/p&gt;&#10;&lt;div&gt;&lt;pre tabindex="0"&gt;&lt;code data-lang="text"&gt;&lt;span&gt;&lt;span&gt;Uncapped FPS - same Asgard scene (higher is better)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;8.9.2 ███████████████████████████▏ 178 FPS&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;9.0.0 █████████████████████████████████▉ 222 FPS&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;9.1.0 ████████████████████████████████████ 236 FPS&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;&lt;pre tabindex="0"&gt;&lt;code data-lang="text"&gt;&lt;span&gt;&lt;span&gt;Command-thread CPU time per frame (lower is better)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;8.9.2 ████████████████████████████████████ 5.6 ms&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;9.0.0 ████████████████████████████▉ 4.5 ms&#10;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;9.1.0 ████████████████████████▍ 3.8 ms&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Uncapped FPS&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Command-thread CPU (ms/frame)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;GPU (ms/frame)&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8.9.2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~178&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~5.6&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~2.2&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;9.0.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~222 (+25%)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~4.5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~2.0&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;9.1.0&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;~236 (+33% vs 8.9.2)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;~3.8&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~2.0&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;After 9.1.0 the remaining limit on this PC is the game&amp;rsquo;s own logic thread, not the emulation layer.&lt;/p&gt;&#10;&#10;&lt;h2&gt;ROG Ally Z1 Extreme (Linux)&lt;/h2&gt;&#10;&lt;p&gt;Real gameplay with 9.1.0 on a ROG Ally Z1 Extreme (Linux, launched from Steam Game Mode) at a &lt;strong&gt;25 W TDP&lt;/strong&gt;, across the &lt;strong&gt;first four tracks&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Around 120 FPS on average most of the time&lt;/strong&gt;, and it &lt;strong&gt;rarely drops below 100 FPS&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Shader loading is effectively instant&lt;/strong&gt;: no compilation stutter when new scenes appear.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;This is a hands-on play report, not an instrumented benchmark.&lt;/p&gt;&#10;&#10;&lt;blockquote&gt;&lt;p&gt;Tip: on SteamOS/CachyOS handhelds, play from &lt;strong&gt;Steam Game Mode&lt;/strong&gt;. Desktop Mode adds stutter to every game.&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&#10;&lt;h2&gt;What changed since 8.8&lt;/h2&gt;&#10;&#10;&lt;h3&gt;Fixes&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Crash when quitting from the in-game menu (8.9).&lt;/strong&gt; The game crashed (heap corruption) when it exited by itself, because the window was released before the input driver. The app now shuts down the same safe way as closing the window.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Lights showing through walls (8.9.2).&lt;/strong&gt; Occlusion-query results from different lights were sharing a slot. They are now keyed by their full address. Leaks went from 37,729 to 41 in 184,000 queries. This also allowed fewer GPU submissions per frame (9–11 down to 3).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3&gt;Launcher (8.9.1)&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;New &lt;strong&gt;Controls&lt;/strong&gt; tab: 14 actions, 2 keys each, with conflict swapping and &amp;ldquo;Restore defaults&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;&amp;ldquo;Saves&amp;rdquo; now holds only save actions, and &amp;ldquo;Add to Steam&amp;rdquo; sits under &amp;ldquo;Manage installation&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;The footer keeps only &lt;strong&gt;Play&lt;/strong&gt; and a hint with the current keys.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3&gt;Optimizations&lt;/h3&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Switch (&lt;code&gt;hydrothunder.toml&lt;/code&gt;)&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;What it does&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Measured effect&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;8.9.1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ht_request_range_fast&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Fast path for memory requests that are already up to date (~2000 per frame)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;−32% per call&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;9.0.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ht_zpd_batch&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Occlusion queries reset in blocks outside render passes, instead of closing a pass for every query&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;~20% fewer render passes, GPU −8%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;9.0.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ht_dynamic_constants&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Dynamic uniform buffers: reuse descriptor sets and change only offsets&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;binding cost −25% per draw&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;9.0.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ht_cp_fast_registers&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;PM4 type-0 register runs written in bulk; a name-based setting lookup (mutex + string + hash) moved out of the per-draw path&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;+11% FPS&lt;/strong&gt;, command CPU −15%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;9.1.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ht_async_submit&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Mid-frame command buffers are recorded and submitted on a second thread, in order&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;command CPU −16%, &lt;strong&gt;+6% FPS&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;All switches default to &lt;code&gt;true&lt;/code&gt;. Set one to &lt;code&gt;false&lt;/code&gt; and restart to compare.&lt;/p&gt;&#10;&#10;&lt;h3&gt;How correctness was verified&lt;/h3&gt;&#10;&lt;p&gt;…&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://emulationking.com/microsoft/xbox360/games/hydrothunderhurricane/ports/hydrothunderport/#download"&gt;Download it from Emulation King&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>