[core] Don't upload the FrameHistory texture in frames where it's not changing

This commit is contained in:
John Firebaugh
2017-06-13 11:28:41 -07:00
parent d618d4a274
commit d27740650b

View File

@@ -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;