Unity线程优先级异常求助:setpriority调用后nice值不符
Unity错误:调用setpriority后无法识别线程优先级(目标-6,实际6)
问题概述
这个错误不影响游戏运行与构建,且未指向任何具体代码,无法复现、不清楚触发原因,也没有修改过相关设置,推测可能是Unity安装文件损坏导致。目前没时间重装Unity,仅尝试过搜索同类问题但无结果,不知道该怎么处理。
错误信息(翻译后)
调用setpriority后无法识别线程优先级。目标优先级为-6,实际优先级为6 UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
无需重装Unity的尝试方案
- 重置编辑器偏好设置:顶部菜单栏选择「Edit」→「Preferences」,点击「Reset to Defaults」后重启编辑器(建议先备份自定义的快捷键、布局等设置)
- 验证安装完整性:打开Unity Hub,找到对应编辑器版本右键选择「Add Modules」→「Verify Integrity」,让Hub自动检查并修复损坏的安装文件
- 清理编辑器缓存:删除Unity缓存目录(Windows路径:
%USERPROFILE%\AppData\Local\Unity\Cache;Mac路径:~/Library/Caches/com.unity3d.UnityEditor)内的文件,之后重启编辑器 - 手动设置线程优先级:在项目的启动脚本(比如挂载在初始场景的GameObject上)的Awake方法中添加代码,强制设置主线程优先级,尝试规避该错误:
void Awake() { System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.Normal; }
内容的提问来源于stack exchange,提问作者Starborne Olympus
相关产品推荐
相关产品推荐

