OSDN Git Service

ラベルの再描画を減らす
[kancollesniffer/KancolleSniffer.git] / KancolleSniffer / View / ShipLabel.cs
index a252c81..bec8f9a 100644 (file)
@@ -50,7 +50,7 @@ namespace KancolleSniffer.View
 \r
         public new sealed class Name : ShipLabel\r
         {\r
-            private SlotStatus _slotStatus;\r
+            private SlotStatus _slotStatus, _prevSlotStatus;\r
             private readonly ShipNameWidth _defaultWidth;\r
 \r
             public static Font LatinFont { get; set; }\r
@@ -144,7 +144,9 @@ namespace KancolleSniffer.View
                 ChangeFont(name);\r
                 var realWidth = width == ShipNameWidth.Max ? (int)width : Scaler.ScaleWidth((int)width);\r
                 Text = prefix + StringTruncator.Truncate(name, "", realWidth, Font);\r
-                Invalidate(); // 必ずOnPaintを実行させるため\r
+                if (_prevSlotStatus != _slotStatus)\r
+                    Invalidate(); // OnPaintを実行させるため\r
+                _prevSlotStatus = _slotStatus;\r
             }\r
 \r
             private void ChangeFont(string name)\r