Repository: flutter
Issue: Onboard on-screen keyboard causes application unresponsiveness for several seconds on Linux desktop
Labels: a: text input,c: regression,platform-linux,perf: speed,has reproducible steps,fyi-text-input,team-linux,found in release: 3.27,found in release: 3.28

### Steps to reproduce

1. Run `flutter create app` to create a new Flutter application.
2. Navigate to the project directory: `cd app`.
3. Edit the lib/main.dart file and add a TextField widget to the app.
4. Start the application with `flutter run`.
5. Press the d key to detach the app from the terminal.
6. Open the Onboard on-screen keyboard: `onboard`.

### Expected results

The on-screen keyboard should appear and disappear without delay, and key presses should be immediately detected by the TextField widget. This behavior was functioning correctly in version 3.22.3.
Here is a video demonstrating it:

https://github.com/user-attachments/assets/42d69657-bebc-4e08-a9b8-bf251e195f10


### Actual results

When clicking on the TextField, the on-screen keyboard appears with a delay, and key presses are not registered in the TextField. The user interface becomes visibly unresponsive for several seconds. This behavior has been present since version 3.23.0-0.0.pre. Here is a video demonstrating the issue:

https://github.com/user-attachments/assets/67e24897-8d89-4ba5-a7b2-9ae5a9e4f396


### Code sample

<details open><summary>Code sample</summary>

```dart
...
  @override
  Widget build(BuildContext context) {
    // This method is rerun every time setState is called, for instance as done
    // by the _incrementCounter method above.
    //
    // The Flutter framework has been optimized to make rerunning build methods
    // fast, so that you can just rebuild anything that needs updating rather
    // than having to individually change instances of widgets.
    return Scaffold(
      appBar: AppBar(
        // TRY THIS: Try changing the color here to a specific color (to
        // Colors.amber, perhaps?) and trigger a hot reload to see the AppBar
        // change color while the other colors stay the same.
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),
      body: Center(
        // Center is a layout widget. It takes a single child and positions it
        // in the middle of the parent.
        child: Column(
          // Column is also a layout widget. It takes a list of children and
          // arranges them vertically. By default, it sizes itself to fit its
          // children horizontally, and tries to be as tall as its parent.
          //
          // Column has various properties to control how it sizes itself and
          // how it positions its children. Here we use mainAxisAlignment to
          // center the children vertically; the main axis here is the vertical
          // axis because Columns are vertical (the cross axis would be
          // horizontal).
          //
          // TRY THIS: Invoke "debug painting" (choose the "Toggle Debug Paint"
          // action in the IDE, or press "p" in the console), to see the
          // wireframe for each widget.
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            TextField(),
            const Text(
              'You have pushed the button this many times:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }
...
```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

[Upload media here]

</details>


### Logs

<details open><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
Downloading Linux arm64 Dart SDK from Flutter engine 964f087f288cc8a19018964f1660859eab5ed96b...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  201M  100  201M    0     0  10.3M      0  0:00:19  0:00:19 --:--:-- 10.9M
Building flutter tool...
Resolving dependencies... (3.0s)
Downloading packages...
Got dependencies.
Downloading package sky_engine...                                  625ms
Downloading flutter_patched_sdk tools...                           769ms
Downloading flutter_patched_sdk_product tools...                   699ms
Downloading linux-arm64 tools...                                    4.9s
Downloading linux-arm64/font-subset tools...                       506ms
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel [user-branch], 3.23.0-0.0.pre, on Debian GNU/Linux 12 (bookworm) 6.1.43-rockchip-rk3588, locale en_US.UTF-8)
    ! Flutter version 3.23.0-0.0.pre on channel [user-branch] at /home/orangepi/flutter
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at https://flutter.dev/docs/get-started/install.
    ! The flutter binary is not on your path. Consider adding /home/orangepi/flutter/bin to your path.
    ! The dart binary is not on your path. Consider adding /home/orangepi/flutter/bin to your path.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Linux toolchain - develop for Linux desktop
[!] Android Studio (not installed)
[✓] Connected device (1 available)
[✓] Network resources

! Doctor found issues in 4 categories.
```

</details>