大佬教程收集整理的这篇文章主要介绍了ios – Xcode 9中的模拟器上的GoogleMaps在移动地图时使用了超过100%的CPU,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这只是在我更新到Xcode 9和Swift 4后才开始发生的。
当在iPhone 7,8或X模拟器上的Xcode 9中进行调试时,所有这些都使用iOS 11,它只占cpu的100%以上,每当我尝试移动它时,它会完全阻止UI更新大约一秒钟。我开始拖动手势,但UI只会每秒更新一次。有效地给我约1fps。
但是,在使用iOS 9的iPhone 6模拟器上的Xcode 9中进行调试时,移动地图时可达到约90%而不会滞后。我猜我在这里得到大约20-30 fps。 (这可能与我在Xcode 8上的模拟器中获得的fps相同。在模拟器上,地图从未如此流畅……)
当在实际设备(iPhone 7,iOS 11)上运行时,cpu在不断移动地图时使用大约40%,并且工作非常流畅,完全没有滞后(60fps)。
我一打开带有地图的标签,我也会在输出中得到这个,但我认为这与这个特定的问题无关:
@H_178_36@main Thread checker: UI API called on a BACkground thread: -[UIApplication applicationState] PID: *****,TID: *******,Thread name: com.google.Maps.LabelingBehavior,Queue name: com.apple.root.default-qos.overcommit,QoS: 21
这表示GoogleMapsAPI在后台线程上调用[UIApplication applicationState]。
我使用的是最新版本的GoogleMaps:2.4.0。据我所知,这个版本可能不支持Xcode 9 / Swift 4等,但我找不到任何关于新版本的内容。
OpenGLEs.framework中存在一个错误,导致它跳过加载LLVM JIT并回退到解释着色器。这对模拟器有严重的性能影响,因为它完全是软件渲染的OpenGL(包括CoreAnimation,SceneKit等)。
编辑:为了澄清,其症状正是您所描述的:100%或更高的cpu使用率和<1fps渲染。这会影响Google Maps SDK和MapKit。 作为临时解决方法,您可以将来自Beta 3的libCoreVMClient.dylib复制到Xcode 9 GM中,并且性能应该恢复到之前的状态。必须分别为每个平台运行时执行此操作。 对于iOS,它位于:Xcode [-beta] .app / Contents / Developer / Platforms / iPhoneOs.platform / Developer / Library / CoreSimulator / Profiles / Runtimes / iOs.simruntime / Contents / resources / RuntimeRoot / System / Library / Frameworks /OpenGLEs.framework/libCoreVMClient.dylib 对于tvOS,它位于:Xcode [-beta] .app / Contents / Developer / Platforms / AppleTVOs.platform / Developer / Library / CoreSimulator / Profiles / Runtimes / tvOs.simruntime / Contents / resources / RuntimeRoot / System / Library / Frameworks /OpenGLEs.framework/libCoreVMClient.dylib 对于watchOS,它位于:Xcode [-beta] .app / Contents / Developer / Platforms / WatchOs.platform / Developer / Library / CoreSimulator / Profiles / Runtimes / watchOs.simruntime / Contents / resources / RuntimeRoot / System / Library / Frameworks /OpenGLEs.framework/libCoreVMClient.dylib
以上是大佬教程为你收集整理的ios – Xcode 9中的模拟器上的GoogleMaps在移动地图时使用了超过100%的CPU全部内容,希望文章能够帮你解决ios – Xcode 9中的模拟器上的GoogleMaps在移动地图时使用了超过100%的CPU所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。