Bối cảnh và vấn đề nghiên cứu

Cụm đồng hồ hiển thị kỹ thuật số (digital cluster) đã phát triển mạnh mẽ và trở nên phổ biến trên hầu hết các dòng xe ô tô nhiều thập kỷ qua, tuy nhiên việc áp dụng trên phương tiện giao thông hai bánh vẫn còn hạn chế. So với đồng hồ cơ truyền thống, đồng hồ kỹ thuật số cho phép hiển thị nhiều thông tin trực quan hơn, nâng cao khả năng giám sát, tương tác và hỗ trợ kiểm soát phương tiện an toàn. Trong thực tế công nghiệp, Công ty TNHH Bosch Global Software Technologies đã và đang phát triển giao diện đồng hồ kỹ thuật số cho xe hai bánh dựa trên nền tảng Qt. Mặc dù vậy, nền tảng Qt bộc lộ một số nhược điểm như giao diện chưa thực sự trực quan cho người thiết kế và tiêu tốn nhiều thời gian trong quy trình xây dựng giao diện người dùng (GUI). Do đó, việc tìm kiếm và đánh giá một nền tảng thay thế có khả năng phát triển nhanh (Fast Development qua Hot Reload), tối ưu hiệu năng gốc (Native Performance) và hỗ trợ giao diện linh hoạt là một yêu cầu cấp thiết.

Khóa luận tốt nghiệp kỹ sư ngành Kỹ thuật Máy tính của nhóm sinh viên Trần Vũ Hoàng và Trần Phạm Tiến Phương (Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP.HCM, năm 2022) dưới sự hướng dẫn của TS. Đoàn Duy và ThS. Bùi Lê Thuận (Bosch) thực hiện đề tài: "Nghiên cứu sử dụng nền tảng Flutter trong thiết kế đồng hồ cho phương tiện hai bánh".

Mục tiêu tổng quát của đề tài là nghiên cứu nền tảng Flutter trong phát triển ứng dụng di động/nhúng và thiết kế đồng hồ kỹ thuật số cho phương tiện giao thông hai bánh chạy trên phần cứng máy tính nhúng Raspberry Pi 4 Model B, với sự hỗ trợ kỹ thuật từ Bosch Global Software Technologies.

Các mục tiêu và nhiệm vụ nghiên cứu chi tiết được xác định gồm:

  1. Nghiên cứu nền tảng mới Flutter để phát triển ứng dụng di động và nhúng.
  2. Sử dụng nền tảng Flutter để thiết kế đồng hồ hiển thị kỹ thuật số cho phương tiện xe hai bánh chạy trên bo mạch Raspberry Pi.
  3. Sử dụng và chạy lại đồng hồ hiển thị kỹ thuật số sử dụng nền tảng Qt do Công ty TNHH Bosch Global Software Technologies cung cấp.
  4. Đo đạc các thông số hiệu năng của Flutter và Qt để đưa ra các chỉ số đối chiếu, so sánh giữa hai nền tảng.

Đối tượng nghiên cứu chính là nền tảng mã nguồn mở Flutter (ngôn ngữ Dart do Google phát triển) và giao diện đồng hồ kỹ thuật số cho xe hai bánh. Phạm vi nghiên cứu tập trung vào khả năng xây dựng ứng dụng nhúng trên nền tảng phần cứng Raspberry Pi 4 Model B, tích hợp nhận dữ liệu thời gian thực thông qua bus CAN từ phần cứng xe máy, và so sánh hiệu quả vận hành giữa Flutter với Qt trên hệ điều hành Raspberry OS (thay cho định hướng ban đầu là Automotive Grade Linux - AGL do chưa có bộ Flutter SDK tương thích tại thời điểm thực hiện).

Cơ sở lý thuyết và phương pháp

Khóa luận thiết lập cơ sở khoa học dựa trên các khung lý thuyết, công nghệ và tiêu chuẩn công nghiệp:

  • Ngôn ngữ Dart và thư viện dart:ffi: Dart là ngôn ngữ lập trình hướng đối tượng, hỗ trợ biên dịch trước thời hạn (AOT - Ahead-of-Time) sang mã máy ARM/x86 cho hiệu suất cao. Thư viện dart:ffi (Foreign Function Interface) cho phép mã nguồn Dart giao tiếp trực tiếp với các thư viện động (shared libraries .so) viết bằng C/C++ mà không cần thông qua lớp cầu nối trung gian như Java Native Interface hay Objective-C.
  • Kiến trúc phân tầng của Flutter: Gồm tầng Framework (Dart) ở phía trên chứa Material, Cupertino, Widgets, Foundation; và tầng Engine/Shell (C++) ở phía dưới chứa máy ảo Dart VM, Skia rendering engine, Platform Channels và Event Loop. Chu trình dựng giao diện vận hành qua ba cấu trúc cây nối tiếp: Widget Tree biểu diễn cấu hình giao diện; Element Tree quản lý vòng đời và trạng thái (Stateful/Stateless Widget); Render Tree đảm nhiệm tính toán kích thước ràng buộc (Constraints and Size) và thực hiện vẽ (Paint Phase).
  • Nền tảng Qt: Bộ công cụ đồ họa đa nền tảng C++, sử dụng các mô-đun nền tảng như QtCore, QtGui, QtWidgets, QtNetwork để quản lý luồng, sự kiện và hiển thị.
  • Giao thức Controller Area Network (CAN): Chuẩn giao tiếp nối tiếp không đồng bộ do Robert Bosch giới thiệu năm 1986. Mạng CAN hoạt động theo cơ chế dựa trên thông điệp (message-based) qua đường truyền cáp xoắn đôi vi sai (CAN_H, CAN_L) có điện trở kết thúc 120Ω. Giao thức hỗ trợ đa chủ (multi-master), định mức ưu tiên dựa trên định danh (ID), cơ chế truy cập tránh va chạm CSMA/CA, phát hiện lỗi CSMA/CD, kiểm tra toàn vẹn CRC với tốc độ lên đến 1 Mbps trên chiều dài cáp 40 m.
  • Phương pháp đo lường và công cụ kiểm thử:
    • Tài nguyên hệ thống: Đo đạc mức chiếm dụng CPU và bộ nhớ RAM trong môi trường Release Mode thông qua công cụ giám sát mã nguồn mở sysstat (lệnh sar -u, sar -P ALL, sar -r, pidstat -d) lấy mẫu 5 lần/giây, kết hợp công cụ hiển thị tiến trình htop.
    • Hiệu năng đồ họa ứng dụng: Tiến hành đo lường ở Profile Mode. Đối với Flutter, nhóm sử dụng bộ công cụ Dart DevTools (Performance View, CPU Profiler với Flame Chart, Call Tree, Bottom Up) để phân tích độ trễ khung hình, tốc độ khung hình (FPS), thời gian xử lý trên UI Thread (mã Dart) và Raster Thread (vẽ đồ họa GPU). Đối với Qt, nhóm sử dụng QML Profiler để trích xuất timeline, thời gian thực thi mã QML/JavaScript và độ trễ khung hình.

Thiết kế và triển khai

Hệ thống được xây dựng dưới dạng phần mềm nhúng điều khiển giao diện người dùng tương tác với mạng cảm biến xe hai bánh qua phần cứng máy tính nhúng.

Cấu hình phần cứng

Thành phần phần cứng Thông số kỹ thuật chi tiết
Bo mạch xử lý (SoC) Broadcom BCM2711, 4 nhân Cortex-A72 (ARM v8) 64-bit @ 1.5 GHz
Bộ xử lý đồ họa (GPU) Broadcom VideoCore VI @ 500 MHz, hỗ trợ OpenGL ES 3.0
Bộ nhớ RAM SDRAM LPDDR4 dung lượng từ 1 GB đến 8 GB (dòng thử nghiệm dùng bo mạch 4 GB)
Cổng xuất hình ảnh 2 cổng Micro-HDMI (hỗ trợ hiển thị lên đến 4K)
Kết nối ngoại vi và I/O Cổng giao tiếp 40 chân GPIO, hỗ trợ giao diện SPI, I2C, UART
Cổng CAN vật lý Module chuyển đổi tín hiệu CAN kết nối qua giao tiếp SPI

Kiến trúc luồng dữ liệu

Dữ liệu trạng thái từ xe máy được truyền tải theo luồng khép kín từ phần cứng vật lý lên màn hình hiển thị:

Xe hai bánh -> Module CAN -> Giao tiếp SPI -> Thư viện CAN C++ -> Bộ chuyển đổi C Adapter -> dart:ffi -> Lớp điều khiển GUIController (Flutter) -> Cổng Micro-HDMI -> Màn hình LCD

Kỹ thuật tích hợp thư viện CAN qua C Adapter

Thư viện CAN phục vụ việc đọc trạng thái phương tiện do Bosch cung cấp được lập trình hoàn toàn bằng ngôn ngữ C++ với các lớp đối tượng (class). Tuy nhiên, cơ chế dart:ffi chỉ hỗ trợ ràng buộc các hàm thuần C và kiểu dữ liệu có cấu trúc C (struct). Để khắc phục hạn chế này, nhóm nghiên cứu đã thiết kế một tầng chuyển tiếp bằng việc bổ sung các hàm Adapter với định danh chuẩn C (extern "C"):

  1. Xây dựng hàm bọc Adapter C: Khai báo các hàm ngoại vi như VEHServiceADPTInit(), GCADPTCons(), GCADPTInit(), GCADPTGetSpeed(), GCADPTGetBattery(), GCADPTGetMileAge(), GCADPTGetSideStandStatus().
  2. Nạp thư viện: Sử dụng đối tượng DynamicLibrary.open của Dart để mở tệp thư viện chia sẻ libsdl2w_core.so.
  3. Ánh xạ hàm (Look-up): Dùng phương thức lookup để định vị địa chỉ con trỏ hàm native và chuyển đổi sang hàm Dart tương ứng thông qua cú pháp .asFunction<>().
  4. Gọi thực thi: Lớp GUIController triệu gọi các hàm đã binding để cập nhật dữ liệu định kỳ từ socket CAN phần cứng vào cây Widget.

Hiện thực hóa giao diện đồng hồ kỹ thuật số

Giao diện người dùng được thiết kế bằng Flutter bao gồm hai màn hình chính:

  • Màn hình chính (Home Screen): Hiển thị ba đồng hồ đo dạng vòng tròn gồm phần trăm năng lượng/nhiên liệu (Battery/Fuel Gauge), vận tốc tức thời của xe (Speed Gauge), và tổng quãng đường di chuyển (Trip), đi kèm trạng thái gạt chân chống (Side Stand Status).
  • Màn hình thực đơn (Menu Screen): Bố cục dạng lưới với các biểu tượng ứng dụng và thanh trạng thái năng lượng nằm dọc.

Nội dung chính theo từng chương

Chương 1. Giới thiệu đề tài

Chương này phân tích tổng quan về sự phát triển của cụm đồng hồ kỹ thuật số trên phương tiện giao thông. Tác giả chỉ ra hạn chế của công nghệ hiện tại ở Bosch khi sử dụng Qt: quá trình thiết kế giao diện tiêu tốn nhiều thời gian và thiếu tính trực quan cho đội ngũ thiết kế. Từ đó, chương xác định mục tiêu tổng quát, 4 mục tiêu chi tiết, đối tượng nghiên cứu (Flutter, Qt, Raspberry Pi 4) và phạm vi nghiên cứu thực nghiệm.

Chương 2. Tổng quan cơ sở lý thuyết và phần cứng sử dụng

Trình bày chi tiết lý thuyết nền tảng về ngôn ngữ Dart, nguyên lý hoạt động của dart:ffi cùng bảng quy đổi kiểu dữ liệu giữa Native C và Dart. Phân tích kiến trúc đa tầng của Flutter, cơ chế render cây ba lớp (Widget - Element - RenderObject), nguyên tắc quản lý trạng thái (StatelessWidget và StatefulWidget). Giới thiệu cấu trúc khung phần mềm Qt và các mô-đun chức năng. Phân tích nguyên lý hoạt động của mạng CAN bus, cơ chế truyền thông điệp, cấu hình khung truyền và xử lý lỗi. Giới thiệu chức năng và quy trình vận hành các công cụ đo kiểm: QML Profiler, Dart DevTools (Performance View, CPU Profiler với Flame Chart, Call Tree, Bottom Up), gói công cụ nhân Linux sysstat (sar, pidstat) và thông số phần cứng bo mạch Raspberry Pi 4 Model B.

Chương 3. Thiết kế hệ thống

Mô tả toàn bộ tiến trình kỹ thuật của đề tài. Giải trình quyết định chuyển đổi hệ điều hành từ Automotive Grade Linux sang Raspberry OS do trở ngại thiếu bộ Flutter SDK tương thích trên AGL. Phân tích sự khác biệt giữa việc sử dụng Embedder Flutter-pi của Ardera (nhẹ nhưng không hỗ trợ DevTools) và việc thiết lập Flutter SDK hoàn chỉnh trên Raspberry OS. Trình bày chi tiết quy trình 4 bước ràng buộc thư viện CAN C++ của Bosch vào dự án Flutter thông qua các hàm Adapter C. Thiết kế kiến trúc lớp phần mềm (GUIController, speedGauge, fuelGauge), xây dựng giao diện Home Screen và Menu Screen. Thiết lập kịch bản và môi trường đo kiểm hiệu năng cho cả hai nền tảng trên hệ điều hành Raspberry OS.

Chương 4. Kết quả đo theo từng thông số

Tài liệu hóa dữ liệu thực nghiệm đo đạc từ hệ thống. Ghi nhận dữ liệu sử dụng CPU và bộ nhớ RAM thông qua sysstat ở các trạng thái: hệ thống nhàn rỗi, giai đoạn biên dịch/khởi chạy ứng dụng, khi nhận tín hiệu CAN lúc xe đứng yên, và khi xe chuyển động với thông số tốc độ biến thiên liên tục. Đo lường tốc độ khung hình (FPS) của Flutter qua các khoảng thời gian vận hành: 40 giây đầu, 200 giây đầu, 400 giây đầu và trạng thái ổn định lâu dài. Ghi nhận thời gian khởi động (Startup time), thời gian chuyển đổi giữa các màn hình, cùng chi tiết độ trễ xử lý trên UI Thread và Raster Thread đối với cả Flutter và Qt.

Chương 5. Đánh giá kết quả đo

Tổng hợp, phân tích và so sánh định lượng các chỉ số hiệu năng thu được giữa giao diện Flutter và giao diện Qt trên cùng phần cứng Raspberry Pi 4 Model B. Đánh giá mức độ ổn định của tốc độ khung hình, tỷ lệ chiếm dụng tài nguyên tính toán (CPU, RAM) và độ trễ phản hồi đồ họa khi có tải dữ liệu CAN liên tục.

Chương 6. Kết luận và hướng phát triển

Đánh giá mức độ hoàn thành so với các mục tiêu đề ra ban đầu. Khẳng định tính khả thi của việc ứng dụng Flutter vào hệ thống nhúng hiển thị trên xe hai bánh. Nêu rõ các hạn chế kỹ thuật chưa thể giải quyết trong phạm vi khóa luận và đề xuất các giải pháp nghiên cứu phát triển tiếp theo.

Kết quả và đóng góp

Khóa luận đã thu được các kết quả kỹ thuật định lượng và đóng góp thực tiễn sau:

Dữ liệu hiệu năng thực nghiệm

  • Tốc độ khung hình (FPS) của Flutter: Khi vận hành trên bo mạch Raspberry Pi 4 Model B qua công cụ phân tích Dart DevTools, tốc độ khung hình trung bình của ứng dụng Flutter được ghi nhận qua các mốc thời gian và đạt mức ổn định ở 52 FPS sau 400 giây chạy liên tục.
  • Tiêu hao tài nguyên hệ thống: Dữ liệu trích xuất từ lệnh sar và pidstat của gói sysstat đã định lượng chi tiết mức tải CPU và tỷ lệ phần trăm bộ nhớ (%memory) ở các trạng thái vận hành:
    • Khi ứng dụng chưa khởi chạy.
    • Khi ứng dụng bắt đầu nhận tín hiệu CAN nhưng xe đứng yên (thông số hiển thị tĩnh).
    • Khi xe bắt đầu chuyển động (tín hiệu vận tốc và các thông số CAN thay đổi liên tục, kích hoạt chu trình cập nhật lại State và Render liên tục trên màn hình).
  • Thời gian khởi động và chuyển trang: Đo lường chính xác thời gian startup và thời gian chuyển giữa Home Screen và Menu Screen, phân tách rành mạch giữa thời gian xử lý logic trên UI Thread và thời gian kết xuất đồ họa trên Raster Thread thông qua QML Profiler (đối với Qt) và DevTools (đối với Flutter).

Đóng góp kỹ thuật

  • Giải pháp chuyển tiếp tích hợp C/C++: Đề xuất và hiện thực hóa thành công mô hình C Adapter trung gian bọc ngoài thư viện C++ nội bộ của Bosch, giải quyết triệt để rào cản kỹ thuật của dart:ffi vốn chỉ hỗ trợ chuẩn C thuần, cho phép ứng dụng Flutter nhận và giải mã khung dữ liệu CAN phần cứng theo thời gian thực.
  • Quy trình triển khai Flutter SDK trên phần cứng nhúng: Chứng minh phương án cấu hình trực tiếp Flutter SDK trên Raspberry OS mang lại khả năng đo kiểm toàn diện thông qua DevTools, vượt trội hơn so với việc chỉ sử dụng các bộ embedder đóng gói rút gọn như Flutter-pi.
  • Bộ dữ liệu đối sánh thực nghiệm: Cung cấp cơ sở dữ liệu đối chiếu trực tiếp giữa nền tảng truyền thống Qt và nền tảng mới nổi Flutter trên cùng điều kiện phần cứng máy tính nhúng, phục vụ cho việc đánh giá tiềm năng công nghệ của doanh nghiệp hỗ trợ (Bosch).

Hạn chế và hướng nghiên cứu tiếp

Khóa luận ghi nhận các hạn chế kỹ thuật tồn tại do phạm vi và điều kiện thực hiện:

  • Chưa thể triển khai giải pháp trên hệ điều hành chuyên dụng cho công nghiệp ô tô là Automotive Grade Linux (AGL) như dự kiến ban đầu, do chưa có sẵn bộ SDK Flutter tương thích cho AGL và việc biên dịch lại toàn bộ SDK vượt quá giới hạn thời gian và nhân lực của khóa luận.
  • Embedder Flutter-pi của Ardera tuy gọn nhẹ nhưng không hỗ trợ Dart DevTools, hạn chế khả năng phân tích sâu luồng đồ họa nếu chỉ dựa vào công cụ này.
  • Chưa có một công cụ đo lường hiệu năng hợp nhất dùng chung cho cả Flutter và Qt; việc phải dùng song song QML Profiler cho Qt và DevTools cho Flutter ở Profile Mode có thể tạo ra độ lệch nhất định về cơ chế thu thập mẫu giữa hai nền tảng.
  • Thư viện giao tiếp CAN là mã nguồn độc quyền của Bosch nên việc tinh chỉnh cấu trúc nội tại của thư viện bị giới hạn trong phạm vi bảo mật.

Hướng phát triển tiếp theo được tác giả đề xuất gồm:

  • Nghiên cứu xây dựng và hoàn thiện bộ SDK/Embedder của Flutter dành riêng cho hệ điều hành Automotive Grade Linux (AGL).
  • Tối ưu hóa hiệu năng render trên Raster Thread để nâng cao tốc độ khung hình tiệm cận ngưỡng 60 FPS ổn định trên phần cứng nhúng.
  • Tích hợp thêm các màn hình chức năng mở rộng, hệ thống cảnh báo hỗ trợ người lái tiên tiến (ADAS) và hiển thị bản đồ định vị trên đồng hồ số.

Giá trị tham khảo

Tài liệu khóa luận mang lại giá trị tham khảo học thuật và kỹ thuật thực tế cho các nhóm đối tượng:

  • Sinh viên và nhà nghiên cứu ngành Kỹ thuật Máy tính, Hệ thống Nhúng, Công nghệ Thông tin: Là tài liệu tham khảo chi tiết về quy trình xây dựng giao diện người dùng nhúng (Embedded HMI) sử dụng Flutter trên hệ điều hành nhân Linux, thay thế cho các ứng dụng di động thông thường.
  • Kỹ sư phần mềm nhúng và ô tô: Tài liệu cung cấp giải pháp kỹ thuật mẫu trong việc kết nối ngôn ngữ Dart với các thư viện phần cứng C++ ngoại vi thông qua dart:ffi kết hợp C Adapter.
  • Các phần đáng tham khảo nhất:
    • Mục 2.4 và 3.4 về phương pháp luận và các bước lập trình ràng buộc mã C/C++ vào dự án Flutter.
    • Quy trình cấu hình và kết hợp các công cụ giám sát nhân hệ điều hành (sysstat, sar, pidstat) với các công cụ profiling chuyên dụng của framework (DevTools, QML Profiler) để đánh giá hiệu năng hệ thống nhúng.

Câu hỏi thường gặp

1. Tại sao nhóm nghiên cứu không triển khai đề tài trên hệ điều hành Automotive Grade Linux (AGL) như kế hoạch ban đầu?
Kế hoạch ban đầu là xây dựng trên AGL để đối chiếu với hệ thống sẵn có của Bosch. Tuy nhiên, thời điểm nghiên cứu chưa có bộ SDK Flutter phù hợp cho AGL. Nhóm đã cân nhắc hai giải pháp: tự xây dựng lại toàn bộ bộ SDK cho AGL hoặc chuyển sang Raspberry OS. Do việc tạo lại toàn bộ SDK đòi hỏi lượng lớn nhân lực và thời gian vượt quá khuôn khổ khóa luận tốt nghiệp, nhóm đã chọn chuyển sang Raspberry OS - nơi đã có các Embedder hỗ trợ và có thể cài đặt Flutter SDK tương thích với Dart DevTools.

2. Làm thế nào để giải quyết xung đột khi thư viện CAN của Bosch viết bằng C++ nhưng dart:ffi chỉ hỗ trợ ngôn ngữ C?
Nhóm nghiên cứu đã sửa đổi và tái cấu trúc thư viện bằng cách viết thêm các hàm Adapter C bao bọc bên ngoài (extern "C"). Các hàm Adapter này thực thi việc khởi tạo đối tượng C++, gọi các phương thức đọc dữ liệu CAN và trả về kiểu dữ liệu cơ bản hoặc con trỏ C. Phía Flutter chỉ cần tìm kiếm và ánh xạ các hàm Adapter C này thông qua dart:ffi để truy xuất dữ liệu an toàn.

3. Tốc độ khung hình (FPS) của giao diện Flutter trên bo mạch Raspberry Pi 4 Model B đạt mức bao nhiêu?
Theo kết quả đo đạc bằng Dart DevTools được trình bày trong Chương 4 của khóa luận, sau 400 giây chạy liên tục, tốc độ khung hình của ứng dụng Flutter đạt mức ổn định ở ngưỡng 52 FPS.

4. Khóa luận sử dụng các công cụ nào để đo đạc và so sánh hiệu năng giữa Flutter và Qt?
Để đo mức sử dụng CPU và bộ nhớ RAM của toàn hệ thống ở chế độ Release Mode, nhóm sử dụng gói công cụ sysstat (gồm các lệnh sar -u, sar -P ALL, sar -r, pidstat -d) và htop. Để đo đạc chi tiết hiệu năng dựng hình, thời gian khởi động và độ trễ luồng ở chế độ Profile Mode, nhóm sử dụng QML Profiler cho nền tảng Qt và Dart DevTools (Performance View, UI Thread, Raster Thread, CPU Profiler) cho nền tảng Flutter.

5. Giao diện đồng hồ xe hai bánh hiển thị những thông số thực tế nào từ phương tiện?
Giao diện chính (Home Screen) hiển thị ba thông số vận hành trực quan gồm mức năng lượng/nhiên liệu còn lại (Battery/Fuel Gauge), vận tốc hiện tại của xe (Speed Gauge), và tổng quãng đường đã chạy (Trip). Ngoài ra, hệ thống còn tiếp nhận và thể hiện trạng thái gạt chân chống của xe máy từ dữ liệu giải mã qua bus CAN.

Kết luận

Khóa luận tốt nghiệp của tác giả Trần Vũ Hoàng và Trần Phạm Tiến Phương đã thực hiện thành công việc nghiên cứu và ứng dụng nền tảng Flutter trong thiết kế cụm đồng hồ kỹ thuật số cho xe hai bánh trên phần cứng Raspberry Pi 4 Model B. Công trình giải quyết tốt bài toán tích hợp thư viện CAN C++ vào môi trường Dart bằng kỹ thuật dart:ffi kết hợp kiến trúc C Adapter, đồng thời thu thập được dữ liệu thời gian thực từ phần cứng xe máy. Các kết quả đo đạc định lượng về FPS, CPU, RAM và thời gian trễ luồng cung cấp cơ sở khoa học và thực tiễn rõ ràng trong việc so sánh hiệu năng giữa Flutter và Qt, khẳng định tiềm năng ứng dụng của Flutter trong lĩnh vực hệ thống nhúng phương tiện giao thông.