mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Fix main-thread hang from terrain finalization; two-pass M2 rendering; tile streaming improvements
Hang/GPU device lost fix: - M2_INSTANCES and WMO_INSTANCES finalization phases now create instances incrementally (32 per step / 4 per step) instead of all at once, eliminating the >1s main-thread stalls that caused GPU fence timeouts and device loss M2 two-pass transparent rendering: - Opaque/alpha-test batches render in pass 1, transparent/additive in pass 2 (back-to-front sorted) to fix wing transparency showing terrain instead of trees — adds hasTransparentBatches flag to skip models with no transparency Tile streaming improvements: - Sort new load queue entries nearest-first so critical tiles load before distant ones during fast taxi flight - Increase taxi load radius 6→8 tiles, unload 9→12 for better coverage Water refraction gated on FSR: - Disable water refraction when FSR is not active (bugged without upscaling) - Auto-disable refraction if FSR is turned off while refraction was on
This commit is contained in:
parent
a49c013c89
commit
e0d47040d3
6 changed files with 234 additions and 38 deletions
|
|
@ -1108,8 +1108,8 @@ void Application::update(float deltaTime) {
|
|||
// Taxi flights move fast (32 u/s) — load further ahead so terrain is ready
|
||||
// before the camera arrives. Keep updates frequent to spot new tiles early.
|
||||
renderer->getTerrainManager()->setUpdateInterval(onTaxi ? 0.033f : 0.033f);
|
||||
renderer->getTerrainManager()->setLoadRadius(onTaxi ? 6 : 4);
|
||||
renderer->getTerrainManager()->setUnloadRadius(onTaxi ? 9 : 7);
|
||||
renderer->getTerrainManager()->setLoadRadius(onTaxi ? 8 : 4);
|
||||
renderer->getTerrainManager()->setUnloadRadius(onTaxi ? 12 : 7);
|
||||
renderer->getTerrainManager()->setTaxiStreamingMode(onTaxi);
|
||||
}
|
||||
lastTaxiFlight_ = onTaxi;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue