diff --git a/src/d/d_meter_map.cpp b/src/d/d_meter_map.cpp index 8f31ef3e21..7e55d899fd 100644 --- a/src/d/d_meter_map.cpp +++ b/src/d/d_meter_map.cpp @@ -593,6 +593,14 @@ void dMeterMap_c::_draw() { dComIfGd_set2DOpa(this); } #else +#if TARGET_PC + // Optimization: don't draw map if it's off-screen/invisible. + // Especially useful in debug builds on Hyrule field etc., it's slow! + if ((!mMapIsInside && mSlidePositionOffset == getDispPosOutSide_OffsetX()) || mMapAlpha == 0) { + return; + } +#endif + mMap->_draw(); dComIfGd_set2DOpa(this); #endif