100 000 шаров под действием гравитации с отскоком от стен, отрисованных через WebGL единственным инстансированным вызовом. Тестирует пропускную способность GPU и скорость обновления физики CPU. Выше FPS — лучше.
Бенчмарк 3D Ньютона измеряет пропускную способность GPU и скорость обновления физики CPU, симулируя 100 000 твёрдых сфер под действием гравитации с упругим отскоком от стен в закрытой трёхмерной коробке. Каждый кадр CPU интегрирует позиции методом симплектического Эйлера — сначала обновляет скорость под действием гравитации, затем смещает позицию на шаг — и разрешает граничные столкновения отражением нормальной составляющей скорости с коэффициентом восстановления. Для 100 000 шаров это требует 600 000 арифметических операций за шаг физики до начала отрисовки.
GPU отрисовывает все 100 000 шаров за один инстансированный вызов с использованием InstancedMesh Three.js — наиболее эффективного метода WebGL для повторяющейся геометрии. Каждый кадр полный буфер матриц (6,4 МБ) передаётся с CPU на GPU для отражения обновлённых позиций шаров, создавая прямую нагрузку на пропускную способность памяти GPU. Каждый шар — малополигональная сферическая сетка с затенением Фонга под четырьмя цветными источниками света. Камера медленно облетает сцену, непрерывно нагружая конвейер.
Результат — средний FPS за 15-секундный прогон: выше лучше. Быстрый GPU справляется с вызовом рендеринга 100 000 инстансов и загрузкой буфера с высокой пропускной способностью; быстрый CPU завершает цикл интеграции физики до того, как GPU начнёт простаивать. Сочетание нагружает и графический конвейер, и движок JavaScript одновременно. Результаты отправляются на глобальную таблицу лидеров с указанием GPU и числа ядер CPU для сопоставимости между устройствами.