Every performance number in this project's docs comes from SwiftShader software
rasterisation at roughly 2 to 5 fps. That says nothing whatever about a real
mobile GPU.
The renderer uploads 83,227 triangles once and then changes a 1725-byte node
level texture per frame, so the per-frame cost should be small — but "should be"
is not a measurement, and this project's standard is that it does not count until
someone has run it.
Specifically unknown
- Frame rate on a real phone and tablet GPU at
devicePixelRatio 2 and 3.
- Whether 4x MSAA plus the bright-pass and separable gaussian bloom passes are
affordable there, or whether MSAA_PIXEL_LIMIT needs to drop.
- Whether the exploded view's 3510 transistor filaments change the picture.
Related, and already burned once
A shader that compiles under SwiftShader can still be invalid on real hardware:
packed is a reserved word in GLSL ES, SwiftShader accepted it, and the exploded
view shipped a vertex shader that failed on a real GPU with every headless check
green. _exploded-test.html now scans for reserved words. Same class of gap.
Every performance number in this project's docs comes from SwiftShader software
rasterisation at roughly 2 to 5 fps. That says nothing whatever about a real
mobile GPU.
The renderer uploads 83,227 triangles once and then changes a 1725-byte node
level texture per frame, so the per-frame cost should be small — but "should be"
is not a measurement, and this project's standard is that it does not count until
someone has run it.
Specifically unknown
devicePixelRatio2 and 3.affordable there, or whether
MSAA_PIXEL_LIMITneeds to drop.Related, and already burned once
A shader that compiles under SwiftShader can still be invalid on real hardware:
packedis a reserved word in GLSL ES, SwiftShader accepted it, and the explodedview shipped a vertex shader that failed on a real GPU with every headless check
green.
_exploded-test.htmlnow scans for reserved words. Same class of gap.