牵一发而动全身的CPU性能指标

2024-02-18 20:40

本文主要是介绍牵一发而动全身的CPU性能指标,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


CPU从来是手游开发团队关注的重中之重,CPU作为终端硬件里最最关键的元器件,一切应用都必须围绕CPU进行优化。CPU的每一项性能指标都关系着其他元器件与之协作的效率,今天我们来聊聊CPU指标。

我们知道CPU的工作方式是时分复用的,他会按照一定规律将自己工作时间切片后分配给当前运行的各种各样的应用,这些应用能够独立地同时在后台跑起来并且相互不受影响;这样就实现了多任务运行,但随着任务的增加CPU的工作量会越来越大,数据吞吐量随之增加。于是,这里边就有了IO等待率的概念。

这里依然以TestBird自动化测试平台上的测试游戏征途手游版为例:

 

从图中看到IO等待率业界均值大约为5%,而在平台上67%的机型运行这款游戏时的IO等待率5%以内, 剩下的均高于业界均值,那么IO等待率过高会导致的结果是什么呢?

IO等待率高就意味着你的游戏在设备上的运行速度可能会不理想,要么场景切换的时候要等很久,要么会出现严重的卡顿,这样对用户体验影响是很大的。

再来看看CPU占用率:

 

上面这幅图说明对比业界均值,征途手游版的CPU占用率显得过高,当然这与这款游戏设计上比较偏重度是有关的。注意右侧CPU占用率前几名三星手机占比很高,相信是与游戏针对三星自研的猎户座CPU优化不好有关,开发者应该重点关注三星的优化。

下面是CPU占用率和温度曲线的联动对比:

 

CPU占用率的曲线升高时可以看到温度也在随之增加,因此温度的提升常常与CPU的工作量的增加成正比。同时如果系统检测到温度过高,还会让CPU主动降频来控制温度。业界曾今测算,通常人手的温度为32摄氏度,因此手机外部温度在32摄氏度的时候通常人手是不会感觉热的,当温度上升到37摄氏度左右就会感觉到不适,如果到达40度以上玩家就会觉得烫手。因此游戏针对CPU的优化对于游戏在手机上运行时的发热控制帮助很大。

另外CPU作为耗电大户,电池能耗的情况也是与之息息相关的。

CPU在手机元器件中的核心地位决定了,CPU的优化是牵一发而动全身的,任何一个细节的优化都有可能使你的游戏在兼容性上发生巨大的飞跃。作为开发者应该在手游测试阶段把CPU的优化放到最重要的地位,以便在安卓阵营碎片化严重的局面下,使你的游戏能够拥有更好的终端覆盖率。

 

这篇关于牵一发而动全身的CPU性能指标的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722402

相关文章

Linux进程CPU绑定优化与实践过程

《Linux进程CPU绑定优化与实践过程》Linux支持进程绑定至特定CPU核心,通过sched_setaffinity系统调用和taskset工具实现,优化缓存效率与上下文切换,提升多核计算性能,适... 目录1. 多核处理器及并行计算概念1.1 多核处理器架构概述1.2 并行计算的含义及重要性1.3 并

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表