Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在创建c#images时是否有初始化_C# - Fatal编程技术网

在创建c#images时是否有初始化

在创建c#images时是否有初始化,c#,C#,我注意到,第一次从uri创建图像需要相当长的时间,但创建一个图像后,其他图像的加载速度会更快(甚至比第一个图像更快) 第一次使用图像对象时是否有某种初始化?有没有办法提高这种性能 我正在加载这样的图像: new BitmapImage(new Uri("directlink")); 猜一猜,这可能是由于即时(JIT)编译 当您执行程序时,CLR会“按原样”将IL编译成本机指令。这意味着,在您第一次访问任何代码时,编译时都会出现命中,但一旦完成,您就不会再次受到惩罚。有很多可能性: 第一次尝试访

我注意到,第一次从uri创建图像需要相当长的时间,但创建一个图像后,其他图像的加载速度会更快(甚至比第一个图像更快)

第一次使用图像对象时是否有某种初始化?有没有办法提高这种性能

我正在加载这样的图像:

new BitmapImage(new Uri("directlink"));

猜一猜,这可能是由于即时(JIT)编译


当您执行程序时,CLR会“按原样”将IL编译成本机指令。这意味着,在您第一次访问任何代码时,编译时都会出现命中,但一旦完成,您就不会再次受到惩罚。

有很多可能性:

  • 第一次尝试访问映像时,可能会导致加载额外的程序集
  • JIT编译可能正在编译该类型,导致首次使用此代码时出现轻微延迟
  • 由于DNS查找缓慢,您第一次尝试访问URL域时可能会遇到问题。后续映像可能正在使用DNS缓存
  • 有,,
    需要创建对象,然后是连接对象,然后需要打开连接,正确的方法等等

    谢谢,确保每个图像加载速度如此之快的唯一一件事就是最初创建一个图像?