Skip to content

neon 双核 benchmark#126

Closed
RayzzzzzZ wants to merge 1 commit intolvgl:release/v9.5from
RayzzzzzZ:release/v9.5
Closed

neon 双核 benchmark#126
RayzzzzzZ wants to merge 1 commit intolvgl:release/v9.5from
RayzzzzzZ:release/v9.5

Conversation

@RayzzzzzZ
Copy link

@RayzzzzzZ RayzzzzzZ commented Feb 23, 2026

Summary by cubic

Set up an ARM (Cortex‑A7) LVGL benchmark with dual NEON‑accelerated draw units on DRM, 32‑bit color, and performance logging at a 10 ms refresh.

  • New Features

    • Switch to DRM display driver and run lv_demo_benchmark in a 480x800 portrait window.
    • Enable pthread OS with 2 draw units using NEON; larger buffers/caches, 16‑byte stride, and 32 KB draw thread stack.
    • Use 32‑bit color and 10 ms refresh; turn on system/performance monitors (log mode).
    • Use built‑in malloc with a 4 MB LVGL heap; disable vector graphics and Lottie for cleaner results.
  • Dependencies

    • Cross‑compile with arm-none-linux-gnueabihf- using SYSROOT.
    • Link with DRM and pthread; output binary renamed to lvgl_v95.

Written for commit 61411ca. Summary will update on new commits.

@RayzzzzzZ RayzzzzzZ closed this Feb 23, 2026
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 3 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="Makefile">

<violation number="1" location="Makefile:6">
P2: Hardcoded machine-specific SYSROOT path breaks builds on other machines</violation>
</file>

<file name="src/main.c">

<violation number="1" location="src/main.c:85">
P1: Environment variables LV_SIM_WINDOW_WIDTH/HEIGHT are read but never used, leaving dead code and silently breaking deployments that rely on env var window sizing. The variables env_w and env_h have no effect on the program.</violation>
</file>

Since this is your first cubic review, here's how it works:

  • cubic automatically reviews your code and comments on bugs and improvements
  • Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
  • Add one-off context when rerunning by tagging @cubic-dev-ai with guidance or docs links (including llms.txt)
  • Ask questions if you need clarification on any suggestion

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

/* Default values */
settings.window_width = atoi(env_w ? env_w : "800");
settings.window_height = atoi(env_h ? env_h : "480");
settings.window_width = 480;
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: Environment variables LV_SIM_WINDOW_WIDTH/HEIGHT are read but never used, leaving dead code and silently breaking deployments that rely on env var window sizing. The variables env_w and env_h have no effect on the program.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/main.c, line 85:

<comment>Environment variables LV_SIM_WINDOW_WIDTH/HEIGHT are read but never used, leaving dead code and silently breaking deployments that rely on env var window sizing. The variables env_w and env_h have no effect on the program.</comment>

<file context>
@@ -82,8 +82,8 @@ static void configure_simulator(int argc, char **argv)
     /* Default values */
-    settings.window_width = atoi(env_w ? env_w : "800");
-    settings.window_height = atoi(env_h ? env_h : "480");
+    settings.window_width = 480;
+    settings.window_height = 800;
 
</file context>
Fix with Cubic

CC ?= gcc
CXX ?= g++
CROSS_COMPILE ?= arm-none-linux-gnueabihf-
SYSROOT ?= /home/parallels/lukkey_aarch64_sysroot
Copy link

@cubic-dev-ai cubic-dev-ai bot Feb 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: Hardcoded machine-specific SYSROOT path breaks builds on other machines

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At Makefile, line 6:

<comment>Hardcoded machine-specific SYSROOT path breaks builds on other machines</comment>

<file context>
@@ -2,8 +2,11 @@
-CC              ?= gcc
-CXX             ?= g++
+CROSS_COMPILE   ?= arm-none-linux-gnueabihf-
+SYSROOT         ?= /home/parallels/lukkey_aarch64_sysroot
+
+CC              := $(CROSS_COMPILE)gcc
</file context>
Fix with Cubic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant