【发布时间】:2019-09-04 08:31:00
【问题描述】:
每次我从保存的文件加载纹理时,我的场景中的任何动画都会被冻结,直到从文件加载完成。 我阅读了很多关于 Threads 的不同意见,但没有一个得到答案。但我必须在不同的线程中加载纹理以避免冻结。 我的代码附加到一个游戏对象,它是一个 UI 弹出窗口
void Start() {
Texture2D tex = LoadTexFromFile(); //Should be in a diffrent thread that returns a texture
sprite = Sprite.Create(tex,
new Rect(0, 0, tex.width, tex.height),
new Vector2(tex.width / 2, tex.height / 2));
picFrame.GetComponent<Image>().overrideSprite = sprite; }
如何在我的代码中安全地使用线程?
【问题讨论】:
-
不是重复的。此外,该用户没有得到答案。
-
我当时在想,为什么@Michał Powłoka 勾选了那个答案呢?
-
他用解决方法回答了自己的问题,因为人们没有回答他。此外,他读取文件的方式与我的代码不同,我无权访问 LoadTexFromFile(),他在阅读器本身上找到了我无权访问的解决方法
标签: c# multithreading unity3d thread-safety threadpool