Skip to content

showPerformanceOverlay=true in MaterialApp throws UnimplementedError on web with no clear “not supported” message #172405

Closed

Description

@RocksteadyDog

Use case

Hello!

A small proposal

Enabling the performance overlay in a Flutter web app by setting:

MaterialApp(
  showPerformanceOverlay: true,
  // …
)

results in the following UnimplementedError:

══╡ EXCEPTION CAUGHT BY SCHEDULER LIBRARY ╞═════════════════════════════════════════════════════════
The following UnimplementedError was thrown during a scheduler callback:
UnimplementedError

When the exception was thrown, this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:3       throw_
errors.dart:266
dart-sdk/lib/_internal/js_dev_runtime/private/profile.dart 117:39                 addPerformanceOverlay
profile.dart:117
package:flutter/src/rendering/layer.dart 1056:12                                  addToScene
layer.dart:1056
package:flutter/src/rendering/layer.dart 711:5                                    [_addToSceneWithRetainedRendering]
layer.dart:711
package:flutter/src/rendering/layer.dart 1372:12                                  addChildrenToScene
layer.dart:1372
package:flutter/src/rendering/layer.dart 2083:5                                   addToScene
layer.dart:2083
package:flutter/src/rendering/layer.dart 1120:5                                   buildScene
layer.dart:1120
package:flutter/src/rendering/view.dart 358:30                                    compositeFrame
view.dart:358
package:flutter/src/rendering/binding.dart 634:19                                 drawFrame
binding.dart:634
package:flutter/src/widgets/binding.dart 1242:13                                  drawFrame
binding.dart:1242
package:flutter/src/rendering/binding.dart 495:5                                  [_handlePersistentFrameCallback]
binding.dart:495
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 117:77  tear
operations.dart:117
package:flutter/src/scheduler/binding.dart 1438:7                                 [_invokeFrameCallback]
binding.dart:1438
package:flutter/src/scheduler/binding.dart 1351:9                                 handleDrawFrame
binding.dart:1351
package:flutter/src/scheduler/binding.dart 1060:9                                 <fn>
binding.dart:1060
lib/_engine/engine/frame_service.dart 147:9                                       <fn>
frame_service.dart:147
dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 47:11           internalCallback
isolate_helper.dart:47
════════════════════════════════════════════════════════════════════════════════════════════════════
128
Another exception was thrown: UnimplementedError

The stack trace doesn't indicate that this flag is simply not supported on the web, which makes it time consuming to find the root cause. I forgot that showPerformanceOverlay was enabled in the project😀

Proposal

When showPerformanceOverlay is enabled on the web platform, the framework should log a clear warning such as:

showPerformanceOverlay is not supported on web

Activity

  1. added
    in triagePresently being triaged by the triage team
    frameworkflutter/packages/flutter repository. See also f: labels.
    platform-webWeb applications specifically
    a: error messageError messages from the Flutter framework
    team-webOwned by Web platform team
    c: proposalA detailed proposal for a change to Flutter
    and removed
    in triagePresently being triaged by the triage team
    on Jul 21, 2025
  2. kevmoo commented on Jul 21, 2025

    @kevmoo
    Contributor

    I fear this is "by design", although I'd love to see this work on the web, too.

    Maybe a good community contribution?

  3. added
    P3Issues that are less important to the Flutter project
    triaged-webTriaged by Web platform team
    on Aug 7, 2025
  4. added a commit that references this issue on Aug 10, 2025
    cd91caa
  5. added a commit that references this issue on Sep 25, 2025
    b1a28bc
  6. github-actions commented on Oct 9, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  7. locked as resolved and limited conversation to collaborators on Oct 9, 2025
  8. added a commit that references this issue on Dec 10, 2025
    733fba0
  9. added a commit that references this issue on Sep 28, 2026
    31383e3
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

    P3Issues that are less important to the Flutter projecta: error messageError messages from the Flutter frameworkc: proposalA detailed proposal for a change to Flutterframeworkflutter/packages/flutter repository. See also f: labels.platform-webWeb applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-webOwned by Web platform teamtriaged-webTriaged by Web platform team

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions