BarrageRenderer
BarrageRenderer copied to clipboard
界面中同时有弹幕和 UITableView 动画的时候,弹幕卡顿
我的界面中同时有弹幕和传统聊天那种的消息列表显示,当接收到一条消息的时候,列表和弹幕会同时显示出来。我发现当 UITableView 更新的时候,弹幕就会卡一下。后来我去掉了 UITableView 显示,弹幕就正常了。在大批量出现消息的时候,这个卡顿就非常明显了。
在 UITableView 更新的时候,我使用 insertRows(at:with:) 动画,我以为是动画的问题,然后我尝试用没有动画的方式来更新 UITableView,或者直接 reloadData(),也没有任何的改善。
请问有什么办法来优化这种情况吗?
应该是和 #52 类似的问题,和 runloop mode 的优先级有关。 后面有时间我会研究一下想办法做些优化,可能不会很及时。 针对你的问题,粗糙的解决方案,就是将弹幕延时个半秒左右再 receive,避开与 tableView 争夺资源。 你试试。
恩先这样做了,谢谢