Skip to content

[Impeller] OpenGLES embedders text quality affected when changing pixel_ratio. #135523

@jwinarske

Description

@jwinarske

Is there an existing issue for this?

Steps to reproduce

Using generic embedder call SendWindowMetricsEvent with pixel_ratio set to .5

Expected results

Smooth scaled text like here when pixel_ratio is set to 1.0

Actual results

Text is jagged, not smooth

Code sample

Code sample
  // Set window size
  FlutterWindowMetricsEvent fwme = {.struct_size = sizeof(fwme),
                                    .width = width,
                                    .height = height,
                                    .pixel_ratio = 0.5};

  auto result = m_proc_table.SendWindowMetricsEvent(m_flutter_engine, &fwme);
  if (result != kSuccess) {
    spdlog::critical("({}) Failed send initial window size to flutter",
                     m_index);
    assert(false);
  }

Screenshots or Video

Screenshots / Video demonstration

Screenshot from 2023-09-26 11-08-43
Screenshot from 2023-09-26 11-10-51

Logs

NA

Flutter Doctor output

Doctor output
[!] Flutter (Channel [user-branch], 3.15.0-15.2.pre, on Fedora Linux 38 (Workstation Edition) 6.4.15-200.fc38.x86_64, locale en_US.UTF-8)
    ! Flutter version 3.15.0-15.2.pre on channel [user-branch] at /mnt/raid10/workspace-automation/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.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
    • Framework revision 0d074ced6c (5 days ago), 2023-09-21 10:24:15 -0700
    • Engine revision 453411bcf3
    • Dart version 3.2.0 (build 3.2.0-134.1.beta)
    • DevTools version 2.27.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Linux toolchain - develop for Linux desktop
    • clang version 16.0.6 (Fedora 16.0.6-3.fc38)
    • cmake version 3.27.4
    • ninja version 1.11.1
    • pkg-config version 1.8.0

[✓] VS Code (version 1.82.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.72.0

[✓] Connected device (2 available)
    • Linux (desktop)              • linux              • linux-x64 • Fedora Linux 38 (Workstation Edition) 6.4.15-200.fc38.x86_64
    • Toyota homescreen (mobile)   • homescreen         • linux-x64 • homescreen x86_64

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work liste: embedderUsers of the Embedder APIe: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.team-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions