Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 48 additions & 10 deletions sites/docs/src/content/perf/impeller.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,24 +88,62 @@ It might use Impeller in the future.

### macOS

You can try out Impeller for macOS behind a flag.
In a future release, the ability to opt-out of
using Impeller will be removed.
Impeller is **available and enabled by default as of Flutter 3.47**.
In a future release, the ability to opt out of using Impeller will be removed.

To enable Impeller on macOS when debugging,
pass `--enable-impeller` to the `flutter run` command.
To disable Impeller on macOS when debugging, pass `--no-enable-impeller` to the
`flutter run` command.

```console
flutter run --enable-impeller
flutter run --no-enable-impeller
```

To enable Impeller on macOS when deploying your app,
add the following tags under the top-level
`<dict>` tag in your app's `Info.plist` file.
To disable Impeller on macOS when deploying your app, add the following tags
under the top-level `<dict>` tag in your app's `Info.plist` file.

```xml
<key>FLTEnableImpeller</key>
<true />
<false />
```

### Linux

Impeller is **available and enabled by default as of Flutter 3.47**.
In a future release, the ability to opt out of using Impeller will be removed.

To disable Impeller on Linux when debugging, pass `--no-enable-impeller` to the
`flutter run` command.

```console
flutter run --no-enable-impeller
```

To disable Impeller on Linux when deploying your app, add the following setup to
your project in `linux/runner/my_application.cc`.

```c
g_autoptr(FlDartProject) project = fl_dart_project_new();
fl_dart_project_set_enable_impeller(project, FALSE);
```
Comment on lines +121 to +127

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add extra context on where in the file? Either by explaining it with prose or adding some of the surrounding code to the code block.

@loic-sharma loic-sharma Jul 31, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe:

  g_autoptr(FlDartProject) project = fl_dart_project_new();
  fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments);
+ fl_dart_project_set_enable_impeller(project, FALSE);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where it belongs exactly can't be discussed since there is an infinite number of possibilities that are correct. I've added the type of the projects to make it more clear.


### Windows

Impeller is **available and enabled by default as of Flutter 3.47**.
In a future release, the ability to opt out of using Impeller will be removed.

To disable Impeller on Windows when debugging, pass `--no-enable-impeller` to the
`flutter run` command.

```console
flutter run --no-enable-impeller
```

To disable Impeller on Windows when deploying your app, add the following setup to
your project in `windows\runner\main.cpp`.

```c++

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```c++
```cpp

flutter::DartProject project(L"data");
project.set_impeller_switch(flutter::ImpellerSwitch::Disabled);
```
Comment on lines +141 to 147

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add extra context on where in the file? Either by explaining it with prose or adding some of the surrounding code to the code block.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe:

  flutter::DartProject project(L"data");

  std::vector<std::string> command_line_arguments =
      GetCommandLineArguments();

  project.set_dart_entrypoint_arguments(std::move(command_line_arguments));
+ project.set_impeller_switch(flutter::ImpellerSwitch::Disabled);

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as above


### Bugs and issues
Expand Down
Loading