资讯详情

【性能案例】振动服务死锁导致太鼓の達人游戏卡顿

📅 2026/9/10 10:05:14 | 华诺云谱 👁 阅读
【性能案例】振动服务死锁导致太鼓の達人游戏卡顿
一、案例背景应用名:太鼓の達人(Rhythm Connect)应用包名:com.linecorp.LGTAIKO应用版本:1.10.1应用来源:Google Play for Japan问题描述:日本用户反馈在玩「太鼓の達人」这款音乐游戏时,每一局都会发生中度卡顿及掉帧。「太鼓の達人」是一款音乐节奏游戏,用户需要分别单手点击、双手点击屏幕的不同位置来跟随音乐节奏触发不同的效果。经过研发本地复现故障发现,只有在连续使用双手同时点击屏幕触发游戏效果时才会触发卡顿。并且该现象只存在于当前项目,在Pixel和竞品上均未复现,可以基本排除三方应用的问题。二、问题分析由于日本试用用户仅提供了故障视频而未提供日志和Trace文件,于是研发本地复现故障并抓取了Trace文件和日志。Trace中的报错信息:monitor contention with owner Thread-8 (2770) at void com.android.server.vibrator.VibratorManagerService$VibrationThreadCallbacks.onVibrationThreadReleased(long) (VibratorManagerService.java:1411) waiters=0 blocking from com.android.server.vibrator.HalVibration com.android.server.vibrator.VibratorManagerService.vibrateInternal(int, int, java.lang.String, android.os.CombinedVibration, android.os.VibrationAttributes, java.lang.String, android.os.IBinder) (VibratorManagerService.java:424)通过分析Trace文件发现:①「太鼓の達人」在连续使用双手同时点击屏幕触发游戏效果时,存在多处500ms的掉帧区间。掉帧是由于游戏渲染线程UnityMain被阻塞,导致游戏在长达500ms的时间段内没有渲染任何帧,进而造成游戏出现卡顿。通过分析掉帧区间发现com.linecorp.LGTAIKO 7952游戏进程中的UnityMain 8027游戏渲染线程,在该区间内通过Binder与sys
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。