From 836a58775f30bc08f2cef02362de7e9e88d69fe4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=B4=E5=A8=83=E9=85=B1?= Date: Thu, 15 Sep 2016 10:14:33 +0800 Subject: [PATCH] optimize LogMessageTextBox (#719) * optimize LogMessageTextBox * StringBuilder instead --- shadowsocks-csharp/View/LogForm.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/shadowsocks-csharp/View/LogForm.cs b/shadowsocks-csharp/View/LogForm.cs index a77a961..0c36085 100644 --- a/shadowsocks-csharp/View/LogForm.cs +++ b/shadowsocks-csharp/View/LogForm.cs @@ -10,6 +10,7 @@ using Shadowsocks.Controller; using Shadowsocks.Properties; using Shadowsocks.Model; using Shadowsocks.Util; +using System.Text; namespace Shadowsocks.View { @@ -162,9 +163,11 @@ namespace Shadowsocks.View } string line = ""; + StringBuilder appendText = new StringBuilder(1024); while ((line = reader.ReadLine()) != null) - LogMessageTextBox.AppendText(line + Environment.NewLine); + appendText.Append(line + Environment.NewLine); + LogMessageTextBox.AppendText(appendText.ToString()); LogMessageTextBox.ScrollToCaret(); lastOffset = reader.BaseStream.Position; @@ -182,14 +185,16 @@ namespace Shadowsocks.View string line = ""; bool changed = false; + StringBuilder appendText = new StringBuilder(128); while ((line = reader.ReadLine()) != null) { changed = true; - LogMessageTextBox.AppendText(line + Environment.NewLine); + appendText.Append(line + Environment.NewLine); } if (changed) { + LogMessageTextBox.AppendText(appendText.ToString()); LogMessageTextBox.ScrollToCaret(); }