neuron-explorer
Qwen3.5‑4B 전용 조향형 뉴런 탐색기, 모든 MLP 뉴런을 밀어 결과를 보관·탐색
웹 엔진이 60fps에서 얼마나 많은 스프라이트와 3D 큐브를 그릴 수 있는지
How many sprites and 3D cubes can a web engine draw at 60 fps on your machine? LittleJS, PixiJS, Three.js, PlayCanvas, Phaser and Babylon.js, on WebGL and WebGPU. Run it and share your results.
개발 도구JavaScript · HTMLGitHub @KilledByAPixel온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
How many moving sprites and 3D cubes can a web engine draw while holding 60 fps, on your machine?
The two scenes, shown here with 2,000 objects each. Every engine draws exactly the same picture; the benchmark keeps adding objects until the engine can no longer hold 60 fps.
Engines compared: LittleJS, PixiJS, Three.js and PlayCanvas, plus an extended set with Phaser, Babylon.js and the WebGPU renderers of Pixi and Three.README 전문 보기 ↗How many moving sprites and 3D cubes can a web engine draw while holding 60 fps, on your machine?
The two scenes, shown here with 2,000 objects each. Every engine draws exactly the same picture; the benchmark keeps adding objects until the engine can no longer hold 60 fps.
Engines compared: LittleJS, PixiJS, Three.js and PlayCanvas, plus an extended set with Phaser, Babylon.js and the WebGPU renderers of Pixi and Three.
This benchmark was started by the author of LittleJS, so read it with that in mind. Every scene, the measurement code and the raw results are here so anyone can check them, rerun them, or improve a scene.
On the one machine tested so far (see RESULTS.md), LittleJS was comparable to the fastest paths of the other engines in these tests, and faster in several. That is one machine and two simple workloads. Results on your hardware may differ, and we would like to see them: see Submit your results.
Each engine draws the exact same scene from the same seeded simulation. The benchmark raises the object count until the median frame no longer holds 60 fps. It reports that count ("max N") and the engine's render CPU time per object.
Each engine is tested on its normal path and its fastest documented path. For example:
Sprite and ParticleContainerMesh and InstancedMeshdrawTile and glDrawapp.update and app.render, which its typings mark internal. That is the only way to render exactly once per frame.createInstance scene uses its documented freezeActiveMeshes optimisation. Every cube's transform still updates every frame.SpriteGPULayer) re-uploads its whole buffer each frame; that is how the layer is built.Think a scene isn't as fast as its engine allows? Please open an issue or a pull request. Improvements from engine maintainers are especially welcome.
In your browser, nothing to install: open https://killedbyapixel.github.io/webgl-engine-bench/, keep the tab visible, click Run, then Download JSON. A browser run can't record your CPU model, so please mention it when you submit.
With Node, for the most exact numbers: you need Node 21+ and Chrome, on a machine that is otherwise idle.
npm install
npx playwright install chromium
npm run bench:quick # about 5 minutes, rough numbers
npm run bench # about 35–40 minutes, 3 repeats, the numbers to share
Add --extended to include Phaser, Babylon.js and the other WebGPU scenes, for example npm run bench:quick -- --extended.
To run it by hand in any browser: npm run serve, then open http://localhost:8121.
RUN.md has the full procedure. Please read its idle-machine checklist: keep the display awake, close other apps, and don't cover the browser window.
Run the full benchmark. The optional label names the file:
npm run bench -- --label my-laptop
Print a summary of your results file:
npm run summary -- results/<your-file>.json
Open a Submit results issue. Paste the summary and attach the .json file. Or open a pull request that adds the file to results/ and runs npm run results to regenerate RESULTS.md.
Results record your CPU, GPU, OS and browser. They never record your computer's name.
scenes/: one file per engine and variantharness/: the shared simulation, the measurement loop and the runnertools/: run, verify, summary and vendor scriptsvendor/: pinned engine builds; exact versions are in vendor/versions.json, licences in vendor/LICENSES/results/: raw result filesnpm run verify re-checks that every scene draws the same thing. npm test runs the unit tests.
MIT; see LICENSE. The vendored engines keep their own licences; see vendor/LICENSES.