flutter_naver_map icon indicating copy to clipboard operation
flutter_naver_map copied to clipboard

Android에서 Impeller 렌더링 엔진 사용시 정상적으로 작동하지 않음

Open SuhwanCha opened this issue 1 year ago • 15 comments

https://docs.flutter.dev/perf/impeller

<meta-data
  android:name="io.flutter.embedding.android.EnableImpeller"
  android:value="true" />

Flutter 3.16 버전에서 추가된 impeller 사용시, 지도가 제대로 작동하지 않는 오류가 있습니다.

impeller 엔진을 사용하고, modal이나 bottomsheet 등, 레이어를 만들면 지도가 작동을 멈추는 오류가 있습니다.

문서에 impeller 엔진을 사용하지 않도록 기재해주시면 좋을 것 같습니다.

SuhwanCha avatar Dec 01 '23 13:12 SuhwanCha

Android 상의 Impeller 엔진 사용시, 해당 오류 발생함을 확인하였습니다. 문서를 곧 업데이트 하도록 하겠습니다. (#141) 오류 제보에 감사드립니다. 좋은 하루 되세요:)

note11g avatar Dec 13 '23 02:12 note11g

https://github.com/flutter/flutter/issues/139702 해당 이슈와 관련 있어 보입니다.

note11g avatar Dec 28 '23 02:12 note11g

해당 이슈는, 플러터 엔진상의 이슈로 보입니다. 따라서 플러터팀에서 해당 이슈를 수정할 때까지는, 해당 이슈의 수정이 힘들 것으로 보입니다. 플러터팀에서 해당 이슈 수정이 완료될 경우, 다시 알려드리겠습니다. 감사합니다.

note11g avatar Dec 28 '23 03:12 note11g

I have impemented naver map with your plugin the map is showing but i have change the map type and also add initial camera position but nothing is happening in map map is only starting and showing same screen please help me what will be the problem

Safiullah2000 avatar Feb 12 '24 15:02 Safiullah2000

I have impemented naver map with your plugin the map is showing but i have change the map type and also add initial camera position but nothing is happening in map map is only starting and showing same screen please help me what will be the problem

@Safiullah2000 If that's not an issue related to this issue, please open a new issue. Thank you.

note11g avatar Feb 13 '24 06:02 note11g

flutter 3.19에서 관련 업데이트가 있었습니다. 3.19 마이그레이션을 진행한 flutter_naver_map 1.2.0 기준, Impeller Engine의 테스트 결과입니다. 테스트에 사용한 앱: flutter_naver_map example (07e6738)

기기 정보 동작 현황
Galaxy S23 Ultra, Android 14.0 정상 동작
Emulator, Android 13.0, 14.0
(run on Macbook Pro 14 M1 Pro)
App Crashed
(하단에 Crash log를 첨부합니다)
Emulator, Android 8.1, 9.0, 12.0
(run on Macbook Pro 14 M1 Pro)
지도 화면이 보이지 않음 (흰색)
Emulator, Android 6.0, 7.0
(run on Macbook Pro 14 M1 Pro)
지도 화면이 보이지 않음
(색깔이 보임, 지도를 움직이면 6x6 모자이크처럼 보임)
Emulator, Android 10.0, 11
(run on Macbook Pro 14 M1 Pro)
전체 앱 화면이 전부 보이지 않음(흰색)
Emulator Crash Log (Android 13.0)
E/flutter (10643): [ERROR:flutter/shell/platform/android/android_context_vulkan_impeller.cc(49)] Using the Impeller rendering backend (Vulkan with Validation Layers).
Debug service listening on ws://127.0.0.1:56161/bWch_5juQzY=/ws
Syncing files to device sdk gphone64 arm64...
[NaverMapSdk] SDK Initialized! (android, SDK 33)
I/ver_map_example(10643): Compiler allocated 4579KB to compile void android.view.ViewRootImpl.performTraversals()
E/ThemeUtils(10643): View class com.naver.maps.map.widget.LogoView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
D/CompatibilityChangeReporter(10643): Compat change id reported: 210923482; UID 10175; state: ENABLED
D/CompatibilityChangeReporter(10643): Compat change id reported: 193247900; UID 10175; state: ENABLED
I/PlatformViewsController(10643): Hosting view in a virtual display for platform view: 0
I/PlatformViewsController(10643): PlatformView is using ImageReader backend
D/HostConnection(10643): createUnique: call
D/HostConnection(10643): HostConnection::get() New Host Connection established 0xb400007478f56b50, tid 10723
D/HostConnection(10643): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 
D/HostConnection(10643): createUnique: call
D/HostConnection(10643): HostConnection::get() New Host Connection established 0xb400007478f59850, tid 10730
D/HostConnection(10643): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 
D/EGL_emulation(10643): eglCreateContext: 0xb400007478f5a990: maj 3 min 0 rcv 3
D/EGL_emulation(10643): eglMakeCurrent: 0xb400007478f5a990: ver 3 0 (tinfo 0x76a5caf480) (first time)
W/Parcel  (10643): Expecting binder but got null!
D/HostConnection(10643): createUnique: call
D/HostConnection(10643): HostConnection::get() New Host Connection established 0xb400007478f57750, tid 10724
D/HostConnection(10643): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 
D/TrafficStats(10643): tagSocket(169) with statsTag=0xffffffff, statsUid=-1
I/NaverMap(10643): {GLThread 54}[General]: GPU Identifier: Android Emulator OpenGL ES Translator (Apple M1 Pro)
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
D/HostConnection(10643): createUnique: call
D/HostConnection(10643): HostConnection::get() New Host Connection established 0xb400007478f6c150, tid 10674
D/HostConnection(10643): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_host_composition_v1 ANDROID_EMU_host_composition_v2 ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_vulkan_queue_submit_with_commands ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 
W/Parcel  (10643): Expecting binder but got null!
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
I/ver_map_example(10643): NativeAlloc concurrent copying GC freed 36180(3446KB) AllocSpace objects, 2(40KB) LOS objects, 49% free, 4080KB/8160KB, paused 36us,7us total 155.083ms
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
E/flutter (10643): [ERROR:flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc(83)] Could not find memory type.
E/ImageTextureRegistryEntry(10643): Dropping PlatformView Frame
F/flutter (10643): [FATAL:flutter/impeller/renderer/backend/vulkan/android_hardware_buffer_texture_source_vk.cc(194)] Check failed: IsValid(). 
F/libc    (10643): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 10667 (1.raster), pid 10643 (ver_map_example)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone64_arm64/emu64a:13/TE1A.220922.012/9302419:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2024-02-16 10:33:08.221373607+0900
Process uptime: 4s
Cmdline: dev.note11.flutter_naver_map.flutter_naver_map_example
pid: 10643, tid: 10667, name: 1.raster  >>> dev.note11.flutter_naver_map.flutter_naver_map_example 
Emulator Crash Log (Android 14.0)

E/flutter ( 6995): [ERROR:flutter/shell/platform/android/android_context_vulkan_impeller.cc(49)] Using the Impeller rendering backend (Vulkan with Validation Layers).
Debug service listening on ws://127.0.0.1:58077/w3biIDHKMWE=/ws
Syncing files to device sdk gphone64 arm64...
[NaverMapSdk] SDK Initialized! (android, SDK 34)
E/ThemeUtils( 6995): View class com.naver.maps.map.widget.LogoView is an AppCompat widget that can only be used with a Theme.AppCompat theme (or descendant).
D/CompatibilityChangeReporter( 6995): Compat change id reported: 210923482; UID 10190; state: ENABLED
D/CompatibilityChangeReporter( 6995): Compat change id reported: 193247900; UID 10190; state: ENABLED
I/PlatformViewsController( 6995): Hosting view in a virtual display for platform view: 0
I/PlatformViewsController( 6995): PlatformView is using ImageReader backend
D/CompatibilityChangeReporter( 6995): Compat change id reported: 236825255; UID 10190; state: ENABLED
E/goldfish_vulkan( 6995): FATAL: Unsupported virtual memory feature
F/libc    ( 6995): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 7032 (1.raster), pid 6995 (ver_map_example)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone64_arm64/emu64a:14/UE1A.230829.036.A1/11228894:user/release-keys'
Revision: '0'
ABI: 'arm64'
Timestamp: 2024-02-16 10:45:54.380086035+0900
Process uptime: 6s
Cmdline: dev.note11.flutter_naver_map.flutter_naver_map_example
pid: 6995, tid: 7032, name: 1.raster  >>> dev.note11.flutter_naver_map.flutter_naver_map_example 

*테스트한 에뮬레이터에서는 다음 GPU가 사용됩니다. Android Emulator OpenGL ES Translator (Apple M1 Pro) *테스트한 갤럭시 S23 Ultra는 다음 GPU가 사용됩니다. Adreno (TM) 740

해당 이슈에 대해 레포트를 받고 있습니다. 테스트 결과를 코멘트로 남겨주시면 감사하겠습니다.

note11g avatar Feb 16 '24 02:02 note11g

TextureView를 사용하는 GoogleMap, GLSurfaceView를 사용하는 MapBox의 Impeller 엔진의 작동을 확인해야 합니다.

note11g avatar Feb 18 '24 10:02 note11g

저희가 가진 디바이스 S23 Ultra, S24 Ultra에서 ( 다른 갤럭시 , 아이폰 정상 동작 ) 맵 화면에서 백그라운드로 갔다가 일정시간 지나고 다시 포그라운드 올라오면 맵 화면이 흰색으로 표현됩니다.

comversecorp avatar Mar 11 '24 06:03 comversecorp

저희가 가진 디바이스 S23 Ultra, S24 Ultra에서 ( 다른 갤럭시 , 아이폰 정상 동작 ) 맵 화면에서 백그라운드로 갔다가 일정시간 지나고 다시 포그라운드 올라오면 맵 화면이 흰색으로 표현됩니다.

Impeller 엔진과 무관한 이슈이고, 별도로 이슈를 만들어주셨기에 가림처리합니다.

note11g avatar Apr 01 '24 10:04 note11g

안녕하세요. flutter naver map 을 사용하여 맵을 띄워봤습니다. 잘 동작합니다. 다만 빌드해보니 apk 용량이 100 M 정도 되던데 이걸 줄일 수 있는 방법이 있을까요?

meatmania avatar May 10 '24 15:05 meatmania

안녕하세요. flutter naver map 을 사용하여 맵을 띄워봤습니다. 잘 동작합니다. 다만 빌드해보니 apk 용량이 100 M 정도 되던데 이걸 줄일 수 있는 방법이 있을까요?

https://github.com/note11g/flutter_naver_map/issues/162 해당 이슈와 중복이며(해당 이슈의 내용을 참고하세요.), 동시에 이 이슈와는 관련되어있지 않으므로 숨김처리 하도록 하겠습니다. 양해 바랍니다.

note11g avatar May 13 '24 00:05 note11g

오늘 새벽(한국 시간 기준 2am)에 있었던 Google IO에서 flutter 3.22.0이 발표되었습니다. 해당 버전에서 Android에서의 Impeller 엔진 사용이 Stable로 변경되었습니다. (아직 기본값은 아닙니다.) 따라서, 해당 이슈를 근시일 내에 다시 트래킹할 예정입니다. 감사합니다.

note11g avatar May 15 '24 00:05 note11g

오늘 새벽(한국 시간 기준 2am)에 있었던 Google IO에서 flutter 3.22.0이 발표되었습니다. 해당 버전에서 Android에서의 Impeller 엔진 사용이 Stable로 변경되었습니다. (아직 기본값은 아닙니다.) 따라서, 해당 이슈를 근시일 내에 다시 트래킹할 예정입니다. 감사합니다.

@mrkim0425 혹시, 해당 내용 테스트 가능하신가요? 최신버전에서 안드로이드 임펠러 활성화하여 테스트해주시면 됩니다.

note11g avatar May 27 '24 11:05 note11g

@note11g Flutter 3.22.1 • channel stable • https://github.com/flutter/flutter.git Framework • revision a14f74ff3a (5 days ago) • 2024-05-22 11:08:21 -0500 Engine • revision 55eae6864b Tools • Dart 3.4.1 • DevTools 2.34.3

flutter_naver_map: ^1.2.2+flutter3.22

이제 갤럭시s24+ 에서 정상작동합니다.

rambozzang avatar May 27 '24 12:05 rambozzang

@note11g Flutter 3.22.1 • channel stable • https://github.com/flutter/flutter.git Framework • revision a14f74ff3a (5 days ago) • 2024-05-22 11:08:21 -0500 Engine • revision 55eae6864b Tools • Dart 3.4.1 • DevTools 2.34.3

flutter_naver_map: ^1.2.2+flutter3.22 MacBook Pro 16 M1 Pro Emulator, Android 13.0, 14.0

정상 작동합니다 :)

mrkim0425 avatar May 27 '24 13:05 mrkim0425