Sleep only the extra amount of time we overran the dynamic interval in dynamic mode.
diff --git a/driver-opencl.c b/driver-opencl.c
index b22017c..0bfd805 100644
--- a/driver-opencl.c
+++ b/driver-opencl.c
@@ -1510,7 +1510,7 @@ static int64_t opencl_scanhash(struct thr_info *thr, struct work *work,
if (gpu->intensity > MIN_INTENSITY)
--gpu->intensity;
else
- nmsleep(opt_dynamic_interval / 2 ? : 1);
+ nmsleep(gpu->gpu_us_average - dynamic_us);
} else if (gpu->gpu_us_average < dynamic_us / 2) {
if (gpu->intensity < MAX_INTENSITY)
++gpu->intensity;