diff layer/TimeValueLayer.cpp @ 736:88a16eed3338

Short-circuit test for enough space for label -- drastically reduces lag on os/x with qt4
author Chris Cannam
date Thu, 06 Mar 2014 09:43:36 +0000
parents 084f65094203
children b6dc57688c72
line wrap: on
line diff
--- a/layer/TimeValueLayer.cpp	Tue Mar 04 15:32:28 2014 +0000
+++ b/layer/TimeValueLayer.cpp	Thu Mar 06 09:43:36 2014 +0000
@@ -1177,7 +1177,10 @@
         }
 
 	if (label != "") {
-            bool haveRoom = nx > x + 6 + paint.fontMetrics().width(label);
+            // Quick test for 20px before we do the slower test using metrics
+            bool haveRoom = (nx > x + 20);
+            haveRoom = (haveRoom &&
+                        (nx > x + 6 + paint.fontMetrics().width(label)));
             if (haveRoom ||
                 (!haveNext &&
                  (pointCount == 0 || !italic))) {