Unity 两种加载本地图片方式对比

📅 2018年11月26日 / 🎨 开发日志 / 👓 17


读取相同的 60 次图片测试。

方法一:本地 IO

平均耗时:0.12s

private Texture LoadImageByIo(string path)
{
    var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
    fileStream.Seek(0, SeekOrigin.Begin);
    var bytes = new byte[fileStream.Length];
    fileStream.Read(bytes, 0, (int)fileStream.Length);
    fileStream.Close();
    fileStream.Dispose();
    fileStream = null;

    var texture = new Texture2D(500, 500);
    texture.LoadImage(bytes);
    return texture;
}

方法二:WWW 协程

平均耗时:1.17s

IEnumerator LoadImageByWww(string path)
{
    //请求WWW
    var www = new WWW("file://" + path);
    yield return www;
    if (!string.IsNullOrEmpty(www.error))
    {
       print(www.error +" | "+www.url);
        yield break;
    }
    _texture = www.texture;
}
(完)

留言(0)