CPU × MEMORY BENCH v--

单流程 · 定工作量 · 一个分数。量的是现代游戏里最要命的两样东西: 单核 IPC × 频率内存/缓存的随机访问延迟 —— 也就是 1% low 与最大帧的真正来源。

⏱ 基准运行台READY

约 39 秒。测试期间请勿触摸屏幕、别切标签页、别开占 CPU 的程序。
✋ 测试进行中:请不要触摸屏幕、不要切到别的应用或标签页 —— 手机上一碰屏幕内存延迟就会明显飙高。 本次期间检测到的操作次数会记在成绩里。
阶段:待机 0.0 / 30.0 s
帧时样本(每约 20 ms 一个) 中位线 P99 线 越线 = 卡顿
实时帧率
-- fps
当前单帧
-- ms
实时中位帧时
-- ms
已采样
--
📐 方法论与计分口径(点开)

为什么测这两样:现代游戏在 CPU 受限场景里,时间不是花在“多核算力”上,而是花在 单核的依赖链(引擎逻辑、物理、脚本、draw call 提交)和 内存/缓存的随机访问延迟 (实体、组件、句柄的指针遍历 —— 只要工作集溢出缓存,每次访问就要等一次内存往返)上。 1% low 和最大帧之所以难看,几乎都是后者的功劳。所以本基准只压这两条路径,多核跑分不进分数。

一标准帧 = 四段固定工作量(常量跨设备完全一致,改了就换代、新旧分数不可比):

  1. 依赖链 500,000 次 xorshift —— 单核 IPC × 频率。每次运算依赖上一次结果,乱序执行无法并行。
  2. 热数据随机访问 5,000 次 / 2 MB 池 —— 命中 L2/L3 的实体遍历。
  3. 冷数据随机访问 8,000 次 / 128 MB 池 —— 必然落到 DRAM 的指针遍历,这条最吃内存搭配(频率、时序、通道数、缓存大小)。
  4. 顺序流 1 MB 读改写(32 MB 池上旋转,保证读的是冷行)—— 资源流式加载。

池子用 pool[i] = (A·i + B) mod 2^k 构造:这是模 2^k 的单周期置换,指针追逐会走满整块内存才重复, 所以每次访问都是新缓存行、真实测到内存往返延迟。若把池子填成“随机索引”,随机映射的环长只有 O(√n), 指针几万步内就会被困在几百 KB 的小环里,量出来的是缓存命中而不是内存延迟(本页实测踩过这个坑,已修正)。

计时方式:定工作量 —— 单帧工作量在所有设备上完全相同,累计实测 30 秒(墙钟 75 秒兜底), 每约 12 ms 记一个样本(采样窗口远大于计时器量化误差),出 P50 / P99 / P99.5 帧时。

预热与丢弃:正式计时前先空跑 1.8 秒热身(不计分),把刚开跑时缓存未热、频率未升、触屏操作造成的虚高延迟摊掉; 热身之后再丢掉第一块(约 1 秒)的数据。所以实际计分的样本不留开跑期的尾巴 —— 手机尤其需要这一步。

档案微测取最好值:延迟/吞吐这类指标,任何干扰只会让它变慢、不会变快,所以每项测 3 轮取最好的一轮 (这也是内存延迟测量的通行做法)。页面上同时给出轮间离散度,用来判断这次跑的设备环境干不干净。

计分:分数 = 1000 / (0.55×P50 + 0.30×P99 + 0.15×P99.5),单位 fps。 中位帧时占 55%,两个"烂帧"指标占 45% —— 快但不稳的机器拿不到高分,这就是低帧权重。 第三项用 P99.5 而不是 P99.9:30 秒约 2500 个样本时 P99.9 只由 2 个样本决定,本身抖动就有 ±10%,换成 P99.5(约 12 个样本)稳得多。 帧时超过 5×P50 的样本视为系统中断(其他程序抢 CPU / 切标签页),统计时剔除但计数展示。

可比性条件:同一版本(页面左上角 vN)、非 SAFE 自检模式、非降级运行。 分数依赖单线程 + 内存表现,后台程序、电源模式(节能/全速)、内存 XMP/EXPO 是否开启都会明显影响结果; 跑分前关掉占 CPU 的程序、插电、开高性能电源模式。同一台机器重复跑,分数波动通常 <3%。

自证:结果里有一行“模型自证” —— 用档案微测(单核吞吐 / 各级延迟 / 带宽)反推的预测帧时, 与实测 P50 对比,比值贴近 1 说明测量链路自洽;偏差大说明后台干扰或降频。全部原始数据在 window.__bench, 「⧉ 复制 JSON」可直接取。

🏆 赛博斗蛐蛐 擂台榜加载中

名次ID · 机器档案(点任意一行看详情)综合分
我的 ID CPU 型号 内存参数 * 备注(选填)
内存参数必填:浏览器读不到内存型号/频率/时序(没有这种 API),只测得出延迟与带宽, 所以下面会给你一条「实测推断」当参考,正式值以你手填为准。备注选填,可写超频/电源模式等。
同一 ID 只保留最好成绩。榜上保留历史各版本的成绩,每行行首标 vN —— v6 起改用 P99.5 并加了预热与丢弃首块, 跨版本分数只有指示意义。上榜数据 = 分数 + 帧时统计 + 自动采集的机器档案(核心数/平台/浏览器/内存档位/计时精度)。

⚠ 计时精度提醒--

蛐蛐详情