Skip to content

Mobile GPU performance is unmeasured #6

Description

@isenbek

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    measurementNeeds measuring, or a recorded result that nobody has explained yet

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions