summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/frame_history.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mbgl/renderer/frame_history.cpp')
-rw-r--r--src/mbgl/renderer/frame_history.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mbgl/renderer/frame_history.cpp b/src/mbgl/renderer/frame_history.cpp
index a933a9004a..35e246f488 100644
--- a/src/mbgl/renderer/frame_history.cpp
+++ b/src/mbgl/renderer/frame_history.cpp
@@ -39,15 +39,15 @@ void FrameHistory::record(const TimePoint& now, float zoom, const Duration& dura
for (int16_t z = 0; z <= 255; z++) {
std::chrono::duration<float> timeDiff = now - changeTimes[z];
int32_t opacityChange = (duration == Milliseconds(0) ? 1 : (timeDiff / duration)) * 255;
- if (z <= zoomIndex) {
- opacities.data[z] = util::min(255, changeOpacities[z] + opacityChange);
- } else {
- opacities.data[z] = util::max(0, changeOpacities[z] - opacityChange);
+ uint8_t opacity = z <= zoomIndex
+ ? util::min(255, changeOpacities[z] + opacityChange)
+ : util::max(0, changeOpacities[z] - opacityChange);
+ if (opacities.data[z] != opacity) {
+ opacities.data[z] = opacity;
+ dirty = true;
}
}
- dirty = true;
-
if (zoomIndex != previousZoomIndex) {
previousZoomIndex = zoomIndex;
previousTime = now;