| name: My app is slow or missing frames |
| description: | |
| You are writing an application but have discovered that it is slow, |
| you are not hitting 60Hz, or you are getting jank (missed frames). |
| labels: 'from: performance template' |
| body: |
| - type: markdown |
| attributes: |
| value: | |
| Thank you for using Flutter! |
| |
| If you are looking for support, please check out our documentation |
| or consider asking a question on Stack Overflow: |
| |
| - https://flutter.dev/ |
| - https://api.flutter.dev/ |
| - https://stackoverflow.com/questions/tagged/flutter?sort=frequent |
| - type: textarea |
| attributes: |
| label: Steps to reproduce |
| description: Please tell us exactly how to reproduce the problem you are running into. |
| placeholder: | |
| 1. ... |
| 2. ... |
| 3. ... |
| validations: |
| required: true |
| - type: textarea |
| attributes: |
| label: Code sample |
| description: | |
| Please create a minimal reproducible sample that shows the problem and attach it below between the lines with the backticks. |
| |
| Try to reproduce the problem in a test app. Either run `flutter create janktest` and recreate the situation you are experiencing in that app, or clone your app and delete code until you have the jank reproducing with a single `.dart` file. |
| |
| If you need more than just a `.dart` file (for example, assets are needed to reproduce the issue, or plugins/packages are needed to reproduce the issue) then create a GitHub repository and upload code there. |
| |
| Without this we will unlikely be able to progress on the issue, and because of that we regretfully will have to close it. |
| |
| Note: Please do not upload screenshots of text. Instead, use code blocks or the above mentioned ways to upload your code sample. |
| value: | |
| <details><summary>Code sample</summary> |
| |
| ```dart |
| [Paste your code here] |
| ``` |
| |
| </details> |
| validations: |
| required: true |
| - type: checkboxes |
| attributes: |
| label: Performance profiling on master channel |
| description: | |
| Switch flutter to master channel and run this app on a physical device using profile mode with Skia tracing enabled, as follows: |
| ```console |
| flutter channel master |
| flutter run --profile --trace-skia |
| ``` |
| The bleeding edge master channel is encouraged here because Flutter is constantly fixing bugs and improving its performance. Your problem in an older Flutter version may have already been solved in the master channel. |
| options: |
| - label: The issue still persists on the master channel |
| required: true |
| - type: textarea |
| attributes: |
| label: Timeline Traces |
| description: | |
| Open Flutter DevTools and save a timeline trace of the performance issue so we know which functions might be causing it. See "How to Collect and Read Timeline Traces" on this blog post: https://medium.com/flutter/profiling-flutter-applications-using-the-timeline-a1a434964af3#a499 |
| |
| Make sure the performance overlay is turned OFF when recording the trace as that may affect the performance of the profile run. (Pressing ‘P’ on the command line toggles the overlay.) |
| |
| If the trace are too large to be uploaded to GitHub, you may upload them as a `zip` file or use online tools like https://pastebin.com to share it. |
| value: | |
| <details><summary>Timeline Traces JSON</summary> |
| |
| ```json |
| [Paste the Timeline Traces here] |
| ``` |
| |
| </details> |
| validations: |
| required: true |
| - type: textarea |
| attributes: |
| label: Video demonstration |
| description: | |
| Record a video of the performance issue using another phone so we can have an intuitive understanding of what happened. |
| |
| Don’t use "adb screenrecord", as that affects the performance of the profile run. |
| value: | |
| <details> |
| <summary>Video demonstration</summary> |
| |
| [Upload media here] |
| |
| </details> |
| - type: dropdown |
| id: target_platforms |
| attributes: |
| label: What target platforms are you seeing this bug on? |
| multiple: true |
| options: |
| - Android |
| - iOS |
| - Web |
| - macOS |
| - Linux |
| - Windows |
| validations: |
| required: true |
| - type: textarea |
| attributes: |
| label: OS/Browser name and version | Device information |
| description: | |
| Which target OS version is the test system running? For Web, please provide browser version. |
| Please also include the device information (model, CPU architecture, etc). |
| validations: |
| required: true |
| - type: dropdown |
| id: device-kind |
| attributes: |
| label: Does the problem occur on emulator/simulator as well as on physical devices? |
| options: |
| - "Unknown" |
| - "Yes" |
| - "No" |
| validations: |
| required: true |
| - type: dropdown |
| id: enable-impeller |
| attributes: |
| label: Is the problem only reproducible with Impeller? |
| description: | |
| Please check https://docs.flutter.dev/perf/impeller as the guideline on how to enable/disable it. |
| options: |
| - "N/A" |
| - "Yes" |
| - "No" |
| validations: |
| required: true |
| - type: textarea |
| attributes: |
| label: Logs |
| description: | |
| Include the full logs of the commands you are running between the lines with the backticks below. If you are running any `flutter` commands, please include the output of running them with `--verbose`; for example, the output of running `flutter --verbose create foo`. |
| |
| If the logs are too large to be uploaded to GitHub, you may upload them as a `txt` file or use online tools like https://pastebin.com to share it. |
| |
| Note: Please do not upload screenshots of text. Instead, use code blocks or the above mentioned ways to upload logs. |
| value: | |
| <details><summary>Logs</summary> |
| |
| ```console |
| [Paste your logs here] |
| ``` |
| |
| </details> |
| - type: textarea |
| attributes: |
| label: Flutter Doctor output |
| description: | |
| Finally, paste the output of running `flutter doctor -v` here, with your device plugged in. |
| value: | |
| <details><summary>Doctor output</summary> |
| |
| ```console |
| [Paste your output here] |
| ``` |
| |
| </details> |
| validations: |
| required: true |