C# 覆盖时保存图像非常慢

C# save image very slowly when overwriting

起初,我的 VS2017 创建图像快速流畅。但是当第二次运行并且已经存在相同文件名的图像时,程序每3次在bitmap.Save(...)步暂停。创建所有 20 个 *.png 文件需要 5.4 秒,但如果所有文件都已存在于目标目录中,则需要 41.4 秒。我相信它正在处理文件覆盖。

代码如下:

for (int i = 0; i < 20; i++)
{
    Bitmap bitmap = new Bitmap(5000, 5000);
    Graphics graphics = Graphics.FromImage(bitmap);

    //Draw something here...

    bitmap.Save(i.ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png);                
    Console.WriteLine("Image Saved");
    bitmap.Dispose();
    graphics.Dispose();
}

奇怪的是,如果我复制代码并将其粘贴到在另一台计算机上创建的新项目中,则不会出现此问题。但是,如果那台计算机 运行 从我的项目中发布的 *.exe 文件,它也会有同样的问题。

是否与我的Visual Studio环境设置有关?谢谢!

我发现问题是由趋势防病毒软件引起的。我关闭它后,程序恢复正常。可能是因为杀毒软件在监控或扫描覆盖过程,导致速度变慢。 谢谢大家的回复。