我正在为某家公司构建 ac# 程序。当我从公司的笔记本电脑上测试该程序时,它运行流畅稳定。但是当我在 microsoft 终端客户端上运行该程序时,在一个可以有大约 1000 行和 5 或 6 列的列表视图上,它开始变慢,直到没有任何响应并且终端客户端无法使用。表格的代码大约有 1000 行。
我能做些什么来提高性能?是我的代码效率低下还是我必须考虑的 mstsc 有一些限制?
我正在为某家公司构建 ac# 程序。当我从公司的笔记本电脑上测试该程序时,它运行流畅稳定。但是当我在 microsoft 终端客户端上运行该程序时,在一个可以有大约 1000 行和 5 或 6 列的列表视图上,它开始变慢,直到没有任何响应并且终端客户端无法使用。表格的代码大约有 1000 行。
我能做些什么来提高性能?是我的代码效率低下还是我必须考虑的 mstsc 有一些限制?
您可能需要调低 mstsc 体验设置:
运行 MSTSC,然后单击选项>>按钮。转到体验选项卡。要么更改连接速度,要么自己关闭一些选项(特别是“菜单和窗口动画”)
您可以将这些设置保存为您的默认设置,或者为您的特定连接保存一个 rdp 文件,这样您就不需要每次都调整这些设置。
来自此评论:“我在表单代码中看到了 msrdp 的性能问题,调用了 InvalidateCode,或者未正确配置 Paint 事件的控件。是您的情况吗?您可以发布一些代码吗?– Steve B "
我发现评论这小段代码,它从来没有打算发布最终版本,但在设计师的按钮完成之前是暂时的,是罪魁祸首。为什么我真的不赌他!现在可以了!
private void terug_btn_Paint(object sender, PaintEventArgs e)
{
/* if (mf != null)
{
System.Drawing.Drawing2D.GraphicsPath myGraphicsPath = new System.Drawing.Drawing2D.GraphicsPath();
myGraphicsPath.AddLine(30, 0, 130, 0);
myGraphicsPath.AddLine(130, 0, 130, 30);
myGraphicsPath.AddLine(130, 30, 30, 30);
myGraphicsPath.AddLine(30, 30, 0, 15);
myGraphicsPath.AddLine(0, 15, 30, 0);
terug_btn.Size = new System.Drawing.Size(135, 35);
terug_btn.Region = new Region(myGraphicsPath);
terug_btn.BackColor = Color.LightBlue;
}*/
}