- 精华
- ROG 9系列 2061浏览
自定义配置
泛用均衡2.0
全新调度思路,非常推荐使用。
第一版的泛用均衡尝试使用sched_boost的2挡进行功耗的控制,但是会出现以下几种问题:
1.大核占用率变高之后,频率升高导致功耗剧增,帧率表现甚至不如sched_boost的0档默认效果好。
2.大核的单核性能不足,遇到对单核要求较高的游戏经常出现卡顿掉帧(如cfm)。
3.顶层程序,前台程序,后台程序线程全部都在大核簇中,有一定概率会出现核心分配问题。(如单个核心异常负载)
也就是说,我们需要让大核的频率不会因为相对过重的负载导致频率过高造成的功耗异常,游戏中出现相对较高运算力需求时,能够使用超大核运算防止瓶颈。
总结一下就是:中低负载使用大核运行,高负载时自动将较高负载线程切换至超大核运行。这样既可以防止出现性能瓶颈,又可以减轻大核负担。
那么真的有方法可以做到如此智能的动态平衡吗?
有的!
在之前的帖子中我稍微讲解了一下sched_boost的各个挡位,具体内容不多赘述,直接讲重点。
sched_boost中2挡是将顶层应用线程放置在大核上,出现重负载线程时会暂时分配到超大核进行运算。在通常情况下,只有场景加载或超出大核负载的线程会被暂时分配在超大核上。我们只需要想个办法,让这个切换到超大核的阈值调整一下就可以了。
那有什么参数可以让调度器识别到较高负载的线程转向超大核运行呢?
cpu.uclamp.min站出来了
这个参数可以调整顶层程序的所有线程的最低要求的运算力。无论高低负载的线程,初始算力百分比都会被指定为这个参数。
那么如果我们找到一个比例,让低负载线程运行时不会被迁移,而中高负载线程出现时,刚好可以让线程总算力负载叠加后超出大核能力,来触发对应线程的迁移,那不就可以实现我们想要的自动迁移至超大核的想法了吗?
经过我几个小时的大量对比,发现这个参数设定为40刚好可以满足需求!
之后再对大核进行最高频率的限制防止出现意外功耗的消耗(双超大核如果不做频率限制,会轻松把功耗干到10w)
至此,能够“动态平衡”线程算力需求的调度诞生了。
为了方便所有玩家导入,这里将游戏配置文件设定为rog论坛。
注:系统版本.123
导入方法:下载文件,将rog论坛加入游戏精灵中,进入游戏设置档,点击右上角三个点选择汇入。在自定义配置中找到“动态均衡2.0”即导入成功,之后可在其他游戏内应用。
- 收藏
0 人打赏,共 0 积分
- 70097帖子
- 4581成员
- 7赞
- 43回复
- 8赞
- 27回复
- 4赞
- 44回复
- 9赞
- 20回复
- 1赞
- 31回复
- 1赞
- 13回复