一种为游戏应用分配资源的方法及电子设备技术

技术编号:31629582 阅读:13 留言:0更新日期:2021-12-29 19:07
本申请提供一种为游戏应用分配资源的方法,所述方法包括:如果当前处于运行状态的游戏应用为目标应用,确定所述目标应用的主线程和高负载线程;将所述主线程绑定到第一目标内核运行以及将所述高负载线程绑定到第二目标内核运行;基于默认策略分配所述目标应用的其余线程在中央处理器所对应的多个内核中的运行。同时,本申请还提供一种电子设备。本申请还提供一种电子设备。本申请还提供一种电子设备。

【技术实现步骤摘要】
一种为游戏应用分配资源的方法及电子设备


[0001]本申请涉及资源分配技术,尤其涉及一种为游戏应用分配资源的方法及电子设备。

技术介绍

[0002]随着安卓(Android)设备软硬件性能的不断发展,基于Android平台开发的移动端手游正致力于开发出更为高帧率高精度的画面和更为细化的动画渲染。而Unity引擎无疑成为了开发出高质量动画的不二之选。数据表明,Google Play(Android官方应用商店)上排名前1000款游戏中,53%都是用Unity引擎创作的。
[0003]Unity游戏中会有大量的物体对象需要快速更新,各种动画,模拟,游戏逻辑等如果都在同一个主线程中进行处理,大量的处理任务会堆积在同一个中央处理器(CPU,central processing unit)的内核中,CPU就会成为图形处理器(GPU,graphics processing unit)的瓶颈,每次GPU都要等待CPU处理完成后才能进行图形处理。因此充分利用多线程也是近些年各大游戏厂商的游戏引擎的一个研发方向。
[0004]每个游戏对于多线程的实现方法不同,每个子线程的任务负载量也不同。目前的手游终端在配置了多个CPU内核的情况下,如果能很好地进行线程间的资源调度,使得各个子线程可以高效运行在多个CPU的内核上,就可以很大程度上提高游戏性能,减少功耗和发热,优化游戏体验。

技术实现思路

[0005]有鉴于此,本申请实施例期望提供一种信息处理方法及电子设备。
[0006]为达到上述目的,本申请的技术方案是这样实现的:
[0007]根据本申请的一方面,提供一种为游戏应用分配资源的方法,所述方法包括:如果当前处于运行状态的游戏应用为目标应用,确定所述目标应用的主线程和高负载线程;将所述主线程绑定到第一目标内核运行以及将所述高负载线程绑定到第二目标内核运行;基于默认策略分配所述目标应用的其余线程在中央处理器所对应的多个内核中的运行。
[0008]上述方案中,所述基于默认策略分配所述目标应用的其余线程在中央处理器所对应的多个内核中的运行,包括:
[0009]基于默认策略分配所述目标应用的其余线程运行在所述中央处理器所对应的多个内核中的非第一目标内核和非第二目标内核。
[0010]上述方案中,所述方法还包括:
[0011]在预设数据包列表中查找所述游戏应用的数据包名;如果在所述预设数据包列表中查找到所述游戏应用的数据包名,确定当前处于运行状态的游戏应用为目标应用;
[0012]或者,在预设进程列表中查找所述游戏应用的进程标识符;如果在所述预设进程列表中查找到所述游戏应用的进程标识符,确定当前处于运行状态的游戏应用为目标应用;
[0013]或者,确定所述游戏应用的线程标识符中是否有预设标识;如果所述游戏应用的线程标识符中有预设标识,确定当前处于运行状态的游戏应用为目标应用。
[0014]上述方案中,所述确定所述目标应用的主线程,包括:
[0015]获取所述目标应用的进程信息,所述进程信息中至少包括所述目标应用中各线程的线程标识符;
[0016]根据所述线程标识符,确定所述目标应用的主线程。
[0017]上述方案中,所述确定所述目标应用的高负载线程,包括:
[0018]获取所述目标应用的进程信息,所述进程信息中至少包括所述目标应用中各线程的负载量参数;
[0019]根据所述负载量参数,确定所述目标应用的高负载线程。
[0020]上述方案中,所述方法还包括:
[0021]查询预设数据库,以确定所述主线程对应的第一目标内核以及所述高负载线程对应的第二目标内核;所述预设数据库中存储有各类型线程与各内核的映射关系。
[0022]上述方案中,所述方法还包括:
[0023]获取所述中央处理器所对应的多个内核的运行参数;
[0024]基于所述运行参数确定所述多个内核中的一级空闲内核和二级空闲内核,其中,所述一级空闲内核的空闲率大于所述二级空闲内核的空闲率;
[0025]将所述一级内核确定为所述第一目标内核;将所述二级内核确定为所述第二目标内核。
[0026]上述方案中,所述方法还包括:
[0027]如果当前处于运行状态的游戏应用为非目标应用,基于所述默认策略分配所述非目标应用的各线程在中央处理器所对应的多个内核中的运行。
[0028]根据本申请的另一方面,提供一种电子设备,包括:
[0029]确定单元,用于如果当前处于运行状态的游戏应用为目标应用,确定所述目标应用的主线程和高负载线程;
[0030]分配单元,用于将所述主线程绑定到第一目标内核运行以及将所述高负载线程绑定到第二目标内核运行;以及基于默认策略分配所述目标应用的其余线程在中央处理器所对应的多个内核中的运行。
[0031]根据本申请的第三方面,提供一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
[0032]其中,所述处理器用于在运行所述计算机程序时,执行上述方法中任一项所述的方法步骤。
[0033]本申请提供的一种为游戏应用分配资源的方法及电子设备,通过在当前处于运行状态的游戏应用为目标应用的情况下,将目标应用的主线程和高负载线程分别分配到特定的内核运行,而将目标应用的其余线程基于默认策略分配在中央处理器所对应的多个内核中的运行。如此,可以使CPU的各个内核得到合理的分配,使资源使用率最大化,避免同一个CPU内核上任务过多或过少的情况。
附图说明
[0034]图1为本申请中为游戏应用分配资源的方法流程实现示意图;
[0035]图2为本申请中电子设备的结构组成示意图一;
[0036]图3为本申请中电子设备的结构组成示意图二。
具体实施方式
[0037]以下结合说明书附图及具体实施例对本申请的技术方案做进一步的详细阐述。
[0038]图1为本申请中为游戏应用分配资源的方法流程实现示意图,如图1所示,包括:
[0039]步骤101,如果当前处于运行状态的游戏应用为目标应用,确定所述目标应用的主线程和高负载线程;
[0040]本申请中,该方法可以应用于电子设备,该电子设备可以是电脑、手机、平板、游戏机等等具有游戏功能的终端,且该电子设备中安装有多个应用。如果该电子设备在运行某个应用,并且在当前应用满足预设条件的情况下,该电子设备还可以获得该应用的进程信息;根据该应用的进程信息,可以按照预先设置的映射集合,将该应用的各线程资源分配给中央处理器对应的多个内核运行,其中,该映射集合中存储有各线程与各内核的映射关系。
[0041]在一个实现方案中,该电子设备可以根据当前应用的属性信息确定当前应用的类型,如果当前应用的类型表征当前应用是游戏类应用,则确定当前应用满足预设条件。
[0042]在另一个实现方案中,该电子设备还可以在预设应用列表中查找当前应用的名称,如果查询结果表征在预设应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种为游戏应用分配资源的方法,所述方法包括:如果当前处于运行状态的游戏应用为目标应用,确定所述目标应用的主线程和高负载线程;将所述主线程绑定到第一目标内核运行以及将所述高负载线程绑定到第二目标内核运行;基于默认策略分配所述目标应用的其余线程在中央处理器所对应的多个内核中的运行。2.根据权利要求1所述的方法,所述基于默认策略分配所述目标应用的其余线程在中央处理器所对应的多个内核中的运行,包括:基于默认策略分配所述目标应用的其余线程运行在所述中央处理器所对应的多个内核中的非第一目标内核和非第二目标内核。3.根据权利要求1所述的方法,所述方法还包括:在预设数据包列表中查找所述游戏应用的数据包名;如果在所述预设数据包列表中查找到所述游戏应用的数据包名,确定当前处于运行状态的游戏应用为目标应用;或者,在预设进程列表中查找所述游戏应用的进程标识符;如果在所述预设进程列表中查找到所述游戏应用的进程标识符,确定当前处于运行状态的游戏应用为目标应用;或者,确定所述游戏应用的线程标识符中是否有预设标识;如果所述游戏应用的线程标识符中有预设标识,确定当前处于运行状态的游戏应用为目标应用。4.根据权利要求1所述的方法,所述确定所述目标应用的主线程,包括:获取所述目标应用的进程信息,所述进程信息中至少包括所述目标应用中各线程的线程标识符;根据所述线程标识符,确定所述目标应用的主线程。5.根据权利要求1所述的方法,所述确定所述目标应用的高负载线程,包括:获取...

【专利技术属性】
技术研发人员:高庆操赵子涵
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1