smart-test-ti / SoloX

💯SoloX - Real-time collection tool for Android/iOS performance data.(Android性能测试android performance\iOS性能测试ios performance\移动端性能测试mobile performance\APP性能测试app performance\app性能测试工具)
https://smart-test-ti.github.io/solox
MIT License
984 stars 174 forks source link

无法获取王者荣耀的FPS信息 #241

Open Zolliner opened 10 months ago

Zolliner commented 10 months ago

红米K50Ultra,MIUI14.0.11,安卓13 使用 python -m solox 打开界面评测或者使用代码评测,都无法获取到FPS,下面是surfaceview开启和关闭时的debug过程。

surfaceview开启状态时的debug

SurfaceStatsCollector._get_surfaceflinger_frame_data()发现获取到的时间戳列表是空的 image

进一步发现,result中只有1个元素。 image

surfaceview关闭状态时的debug

SurfaceStatsCollector._get_surfaceflinger_frame_data()发现无法执行获取时间戳的分支 image

进去发现并没有包含相关数据 image

rafa0128 commented 10 months ago

游戏的fps我试过华为基本都可以的,只能用surfaceview,不能用gfxinfo。不要晒这么多图,直接把终端日志给我看就行。dumpsys SurfaceFlinger --list发出来我看看

Zolliner commented 10 months ago

电脑端运行 adb shell dumpsys SurfaceFlinger --list,结果如下,由于内容比较长,因此折叠了,点击即可展开

```log Display 0 name="内置屏幕"#2 WindowedMagnification:0:31#3 HideDisplayCutout:0:14#4 OneHanded:0:14#5 FullscreenMagnification:0:12#6 Leaf:0:1#7 WallpaperWindowToken{2ae4b51 token=android.os.Binder@5e7b878}#55 26759eb com.miui.miwallpaper.wallpaperservice.ImageWallpaper#56 com.miui.miwallpaper.wallpaperservice.ImageWallpaper#57 Wallpaper BBQ wrapper#58 WallpaperWindowToken{c469527 token=android.os.BinderProxy@a6a4be6}#48 2c3896c com.miui.miwallpaper.wallpaperservice.MiuiKeyguardPictorialWallpaper#49 com.miui.miwallpaper.wallpaperservice.MiuiKeyguardPictorialWallpaper#50 Wallpaper BBQ wrapper#51 DefaultTaskDisplayArea#8 Task=1#45 Task=2#52 afa5df1 ActivityRecordInputSink com.miui.home/.launcher.Launcher#54 ActivityRecord{51e369d u0 com.miui.home/.launcher.Launcher} t2}#53 8d9e8c com.miui.home/com.miui.home.launcher.Launcher#76 Task=4#68 Task=5#69 Dim layer#74 Task=6#70 Dim layer#75 Task=3#67 Task=7877#7311 cc49f00 ActivityRecordInputSink com.android.settings/.Settings$WifiSettingsActivity#7317 ActivityRecord{229e339 u0 com.android.settings/.Settings$WifiSettingsActivity} t7877}#7312 9b0210c com.android.settings/com.android.settings.Settings$WifiSettingsActivity#7318 Task=7879#7367 7e0955c ActivityRecordInputSink com.lhm.DAndJ/.MainActivity#7375 ActivityRecord{949d065 u0 com.lhm.DAndJ/.MainActivity} t7879}#7368 ab47013 com.lhm.DAndJ/com.lhm.DAndJ.MainActivity#7379 Task=7880#7399 88a998e ActivityRecordInputSink com.xingin.xhs/.index.v2.IndexActivityV2#7407 ActivityRecord{fa0d5af u0 com.xingin.xhs/.index.v2.IndexActivityV2} t7880}#7400 504dd6 com.xingin.xhs/com.xingin.xhs.index.v2.IndexActivityV2#7411 Task=7881#7430 20a14af ActivityRecordInputSink com.cmss.skydrive/com.shinemo.qoffice.biz.main.MainActivity#7459 ActivityRecord{ef250bc u0 com.cmss.skydrive/com.shinemo.qoffice.biz.main.MainActivity} t7881}#7447 e89417f com.cmss.skydrive/com.shinemo.qoffice.biz.main.MainActivity#7450 ef08ef8 ActivityRecordInputSink com.cmss.skydrive/com.shinemo.qoffice.biz.im.ChatDetailActivity#7470 ActivityRecord{3cc9fd1 u0 com.cmss.skydrive/com.shinemo.qoffice.biz.im.ChatDetailActivity} t7881}#7461 ac24510 com.cmss.skydrive/com.shinemo.qoffice.biz.im.ChatDetailActivity#7462 Task=7882#7491 cc2e04e ActivityRecordInputSink com.android.settings/.MiuiSettings#7497 ActivityRecord{9a5756f u0 com.android.settings/.MiuiSettings} t7882}#7492 5b2c0c5 com.android.settings/com.android.settings.MiuiSettings#7498 8e3c216 ActivityRecordInputSink com.android.settings/.SubSettings#7537 ActivityRecord{1208797 u0 com.android.settings/.SubSettings} t7882}#7527 66fbfb4 com.android.settings/com.android.settings.SubSettings#7528 a559450 ActivityRecordInputSink com.android.settings/.SubSettings#7549 ActivityRecord{f80b649 u0 com.android.settings/.SubSettings} t7882}#7539 6a6b60e com.android.settings/com.android.settings.SubSettings#7540 com.android.settings/com.android.settings.SubSettings#7541 ImeContainer#12 WindowToken{3627649 type=2011 android.os.Binder@da65450}#167 Surface(name=6efae16 InputMethod)/@0xcfb984 - animation-leash of insets_animation#7550 6efae16 InputMethod#168 splitScreenDividerAnchor#9 Input Consumer recents_animation_input_consumer#77 Leaf:3:12#10 WindowToken{8423ff2 type=2038 android.os.BinderProxy@b726648}#72 da9a754 ShellDropTarget#73 WindowToken{373500 type=2038 android.os.BinderProxy@ce68f83}#5936 a62d37e com.miui.notes#5937 #5938 ImePlaceholder:13:14#11 OneHanded:15:15#13 FullscreenMagnification:15:15#14 Leaf:15:15#15 WindowToken{989c2ea type=2000 android.os.BinderProxy@322038c}#86 Surface(name=40779db StatusBar)/@0x4f169cd - animation-leash of insets_animation#7542 40779db StatusBar#87 StatusBar#96 HideDisplayCutout:16:16#16 OneHanded:16:16#17 FullscreenMagnification:16:16#18 Leaf:16:16#19 OneHanded:17:17#20 FullscreenMagnification:17:17#21 Leaf:17:17#22 WindowToken{9356d06 type=2040 android.os.BinderProxy@9778148}#84 b9b6fc7 NotificationShade#85 HideDisplayCutout:18:23#23 OneHanded:18:23#24 FullscreenMagnification:18:23#25 Leaf:18:23#26 WindowToken{342120c type=2017 android.os.BinderProxy@ec5c93f}#80 5e98755 NotificationModalWindowManager#81 WindowToken{c82a005 type=2017 android.os.BinderProxy@e825f7c}#99 93dd85a control_center#100 Leaf:24:25#27 WindowToken{1b1a7b8 type=2019 android.os.BinderProxy@406dc2a}#82 Surface(name=a0ea991 NavigationBar0)/@0x23fcd93 - animation-leash of insets_animation#7543 a0ea991 NavigationBar0#83 NavigationBar0#92 WindowToken{7460dca type=2024 android.os.BinderProxy@cbd8535}#60 5439b3b GestureStubHome#61 GestureStubHome#78 WindowToken{3640a22 type=2024 android.os.BinderProxy@6cedbed}#88 4fadcb3 pip-dismiss-overlay#89 WindowToken{8edfb54 type=2024 android.os.BinderProxy@fc5eaa7}#90 6dfcafd SecondaryHomeHandle0#91 HideDisplayCutout:26:31#28 OneHanded:26:31#29 FullscreenMagnification:26:27#30 Leaf:26:27#31 Leaf:28:28#32 WindowToken{e616a91 type=2027 android.os.BinderProxy@f7531b}#62 b18bdf6 GestureStubBottom#63 GestureStubLeft#66 WindowToken{2595ce type=2027 android.os.BinderProxy@1addac9}#64 ef9bcef GestureStubBottom#65 GestureStubRight#71 FullscreenMagnification:29:31#33 Leaf:29:31#34 WindowToken{774c7c9 type=2032 android.os.Binder@f30fbd0}#133 9967672 hello.litiaotiao.app#134 #135 WindowToken{d2ac44b type=2032 android.os.Binder@4baf11a}#136 HideDisplayCutout:32:35#35 OneHanded:32:32#36 Leaf:32:32#37 FullscreenMagnification:33:33#38 Leaf:33:33#39 OneHanded:34:35#40 FullscreenMagnification:34:35#41 Leaf:34:35#42 Leaf:36:36#43 Display Overlays#44 [Gesture Monitor] miui-gesture#46 [Gesture Monitor] onehanded-touch#59 ```
rafa0128 commented 10 months ago

是没启动王者荣耀app吗?启动一下,过滤包名我看看,我想看surfaceview。然后你在代码看看get_surfaceview()这个方法返回值是什么。这里最关键就是看surfaceview拿的对不对,不同手机规则不太一样

Zolliner commented 10 months ago

内容如下:

5f87669 ActivityRecordInputSink com.tencent.tmgp.sgame/.SGameActivity#12522
ActivityRecord{d1498ee u0 com.tencent.tmgp.sgame/.SGameActivity} t7916}#12508
f951108 com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity#12531
Background for SurfaceView[com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity]#12550
SurfaceView[com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity]#12548
SurfaceView[com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity](BLAST)#12549
com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity#12538
Bounds for - com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity#12547

get_surfaceview()返回值是 'SurfaceView[com.tencent.tmgp.sgame/com.tencent.tmgp.sgame.SGameActivity]#12548'

界面给的几个选项是 image

rafa0128 commented 10 months ago

看上去是对的,没有你的手机调试,没法搞。你自己用get_surfaceview_activity替换一下get_surfaceview这个方法看看能不能收到数据。不行的话我也解决不了了。我这边是按照华为来适配的