我正在通过 OpenGL 渲染对象,并且在大多数情况下都获得了 60fps 的平滑帧速率。直到我在后台线程中做一些繁重的事情,比如从 REST API 中获取东西,处理它,然后将对象添加到图中(低优先级的东西,我更关心 UI 流动性)。然后渲染器将暂停很长一段时间,最多 1 秒(大约只要后台线程运行),然后像什么都没发生一样恢复。我注意到这一点是因为动画同时开始,并且在此期间卡住了。后台线程设置为最低优先级,垃圾收集确实需要 100-200 毫秒,但不是整个秒。当我在后台任务中的任何位置设置调试点时,渲染继续正常,没有任何延迟。
我繁重的后台线程是否有可能使 OpenGL 线程饿死?如果是这样,我该怎么办?