flutter-tizen / embedder

Flutter embedder for Tizen
BSD 3-Clause "New" or "Revised" License
5 stars 7 forks source link

Flickering when animating cupertino widgets #5

Open swift-kim opened 3 years ago

swift-kim commented 3 years ago

Previously only on TM1 devices (#53), but it now also occurs on watch devices. Reproducible with the Gallery app.

bbrto21 commented 3 years ago

It's been a while since this issue opened, but I've found no clue, Has anyone figured out anything?

swift-kim commented 3 years ago

The problem is not limited to cupertino widgets. The flickering also occurs for some material widgets in the Gallery app (to be more specific, the "Bottom app bar" page).

swift-kim commented 2 years ago

Here's simple reproduction code:

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(const MaterialApp(
    home: Scaffold(body: CupertinoNavigationBarDemo()),
  ));
}

class CupertinoNavigationBarDemo extends StatelessWidget {
  const CupertinoNavigationBarDemo({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Navigator(
      onGenerateRoute: (settings) {
        return CupertinoPageRoute(
          title: 'Navigator',
          settings: settings,
          builder: (context) {
            return CupertinoPageScaffold(
              child: CustomScrollView(
                slivers: [
                  const CupertinoSliverNavigationBar(),
                  SliverList(
                    delegate: SliverChildBuilderDelegate((context, index) {
                      return const ListTile(title: Text('Title'));
                    }, childCount: 20),
                  ),
                ],
              ),
            );
          },
        );
      },
    );
  }
}

Run this code on a watch or TM1 in release mode.

swift-kim commented 2 years ago

I encountered these error messages when I was testing my wayland renderer:

E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]
E/MALI    (31852): ==>[ERROR] (runner) [GLES] gles/src/surface/backend/mali_gles_surface_pixel_format_pfs_lx.c:1562 gles_surface_pixel_format_check_copy_tex_image_match 0x3:GLES_ERROR_INVALID_OPERATION in glCopyTexSubImage2D [glCopyTex* cannot copy from a channel that does not exist in the source]

I don't know what the error is about but it could be related to this issue because it only happens when the app is rendering cupertino widgets.