본문 바로가기
Dart/Flutter

[Flutter] 플러터 성능향상을 위한 `flutter_flags` 명령줄 도구 추가하기

by 검은냥냥이 2022. 12. 24.

Flutter 앱의 성능을 개선하려면 `flutter_flags` 명령줄 도구를 사용하여 다양한 성능 관련 플래그를 활성화할 수 있습니다. 이러한 플래그를 사용하면 특정 앱의 요구 사항에 더 잘 맞도록 Flutter 프레임워크 및 Dart 가상 머신의 동작을 미세 조정할 수 있습니다.

 

명령줄 설명
--dart-define=flutter.inspector.debugDescription=false 앱을 빌드하고 렌더링할 때 성능을 향상시킬 수 있는 위젯에 대한 디버그 설명 생성을 비활성화합니다.
--enable-software-rendering=false 하드웨어 가속 렌더링을 비활성화하고 대신 소프트웨어 렌더링을 사용하려면 --enable-software-rendering=false 플래그를 사용할 수 있습니다. (사용법 참고)
--dart-define=flutter.hotRestart=false Flutter 개발 주기의 성능을 향상시킬 수 있는 핫 리스타트를 비활성화합니다.
--dart-define=flutter.hotReload=false Flutter 개발 주기의 성능을 개선할 수 있는 핫 리로드를 비활성화합니다. (비추천)
--dart-define=flutter.jank=none 프레임 속도 추적의 오버헤드를 줄여 앱의 성능을 향상시킬 수 있는 버벅거림 추적을 비활성화합니다.

 

`--enable-software-rendering=false`의 경우에는 앱이 하드웨어 가속 렌더링을 사용할지 소프트웨어 렌더링을 사용할지를 제어하는 ​​Flutter 플래그입니다. 기본적으로 Flutter는 가능할 때마다 하드웨어 가속 렌더링을 사용하려고 시도합니다. 이는 더 나은 성능과 더 효율적인 렌더링을 제공할 수 있기 때문입니다.

그러나 경우에 따라 하드웨어 가속 렌더링을 비활성화하고 대신 소프트웨어 렌더링을 사용해야 할 수도 있습니다. 예를 들어 앱이 하드웨어 가속 렌더링을 지원하지 않는 기기에서 실행 중이거나 다른 방법으로 해결되지 않는 렌더링 문제가 발생하는 경우 소프트웨어 렌더링을 사용해야 할 수 있습니다.

소프트웨어 렌더링은 일반적으로 효율성이 떨어지며 하드웨어 가속 렌더링에 비해 성능이 저하될 수 있습니다. 따라서 일반적으로 가능하면 하드웨어 가속 렌더링을 사용하는 것이 좋습니다.

 

예제

`pubspec.yaml`에 옵션을 추가해 주면 됩니다.

dependencies:
  flutter:
    sdk: flutter
  share:

  flutter_localizations:
    sdk: flutter

  cupertino_icons: ^1.0.2

dev_dependencies:
  flutter_test:
    sdk: flutter

  flutter_lints: ^2.0.0

flutter_flags:
  - --obfuscate
  - --enable-software-rendering=false
  - --dart-define=flutter.jank=none

flutter:
  uses-material-design: true

  assets:
    - .env
    - assets/
    - assets/images/
    - assets/icons/
    - assets/logos/

  # fonts:
  #   - family: SUIT
  #     fonts:
  #       - asset: assets/fonts/suit/SUIT-Thin.ttf
  #         weight: 100
  #       - asset: assets/fonts/suit/SUIT-ExtraLight.ttf
  #         weight: 200
  #       - asset: assets/fonts/suit/SUIT-Light.ttf
  #         weight: 300
  #       - asset: assets/fonts/suit/SUIT-Regular.ttf
  #         weight: 400
  #       - asset: assets/fonts/suit/SUIT-Medium.ttf
  #         weight: 500
  #       - asset: assets/fonts/suit/SUIT-SemiBold.ttf
  #         weight: 600
  #       - asset: assets/fonts/suit/SUIT-Bold.ttf
  #         weight: 700
  #       - asset: assets/fonts/suit/SUIT-ExtraBold.ttf
  #         weight: 800
  #       - asset: assets/fonts/suit/SUIT-Heavy.ttf
  #         weight: 900
728x90
사업자 정보 표시
레플라 | 홍대기 | 경기도 부천시 부일로 519 화신오피스텔 1404호 | 사업자 등록번호 : 726-04-01977 | TEL : 070-8800-6071 | Mail : support@reafla.co.kr | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기