We have designed a set of test plans to compare the performance of various game engines across multiple performance factors. All tests are conducted in the following environment:
Like the engine, our benchmarking code is also open source. You can get the source code from the benchmark repository. This test includes the Galacean Engine, Babylon.js, and Three.js engines.
In this benchmark, we tested the rendering performance of the three engines after loading 100 glTF models and configuring 10 PointerLights.
In this benchmark, we tested the performance of the three engines when loading 225 glTF models and simultaneously playing 255 glTF animations.
In this benchmark, we tested the rendering performance of the three engines using 500 particle systems with similar parameters on an opaque background.
Three.js does not have its own Particle System, nor does it have a currently maintained preferred third-party library. Similar effects are generally implemented independently by developers. Therefore, we used
three-nebula
to represent the particle system of Three.js in this test.
In the 2D test, we tested the performance of placing and rotating 7920 2D sprites simultaneously.
We chose Babylon.js, Three.js, and PixiJS for testing because they are currently the most popular game engines, and during development, they have always been our benchmarks to surpass. We hope to provide the community with transparent and comparable performance information through these benchmarks.
If you want us to include your game engine or have suggestions for improving these tests, feel free to open an issue.