หลังจากที่เราได้แกะกล่องและทดสอบ Radxa X4 Kit เบื้องต้นไปแล้ว ในรีวิวนี้เราจะมาทดสอบประสิทธิภาพในการใช้งาน Radxa X4 Kit บนระบบปฎิบัติการ Ubuntu 24.04 กัน
โดยทำการทดสอบมาตรฐานและเปรียบเทียบประสิทธิภาพกับซิงเกิ้ลบอร์ดยอดนิยมอย่าง Raspberry Pi 5 โดยใช้การทดสอบตามหัวข้อดังนี้
- การตรวจสอบข้อมูลระบบเบื้องต้น
- การทดสอบ Benchmark
- CPU
- Disk
- Peripherals
- Network
- การทดสอบการใช้งานเว็บและมัลติมีเดียร์
- การตรวจสอบการใช้พลังงาน
และหลังจากนั้นเรายังจะทดสอบการใช้งานขา GPIO จำนวน 40 ขาที่เชื่อมต่อกับ MCU RP2040 ที่ติดตั้งบนบอร์ดให้เห็นกันว่าถ้าต้องการจะใช้งานจะทำได้อย่างไร
ข้อมูลระบบเบื้องต้น
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
unoiot@radxa-x4:~/sbc-bench$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" unoiot@radxa-x4:~/sbc-bench$ uname -a Linux radxa-x4 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux unoiot@radxa-x4:~/sbc-bench$ df -mh Filesystem Size Used Avail Use% Mounted on tmpfs 772M 2.3M 770M 1% /run /dev/nvme0n1p2 116G 12G 99G 11% / tmpfs 3.8G 4.0K 3.8G 1% /dev/shm tmpfs 5.0M 8.0K 5.0M 1% /run/lock efivarfs 192K 84K 104K 45% /sys/firmware/efi/efivars /dev/nvme0n1p1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 772M 2.6M 770M 1% /run/user/1000 |
โดยเราทำการติดตั้ง Ubuntu 24.04 ลงไปบน SSD ขนาด 128GB และแรมขนาด 8GB จากนั้นเราทำการอ่านข้อมูลเพิ่มเติมด้วยคำสั่ง inxi เพื่อตรวจสอบอุปกรณ์อื่น ๆ ในระบบ จะพบข้อมูลต่าง ๆ โดยจะเห็นว่าอุณหภูมิตอน idel อยู่ที่ 42 องศาเท่านั้น RAM ถูกใช้งานไป 2.48 GB จาก 8GB และการติดตั้ง Ubuntu 24.04 ใช้พื้นที่ไปเพียง 11.67 GB เท่านั้น
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
unoiot@radxa-x4:~/sbc-bench$ inxi -Fc0 System: Host: radxa-x4 Kernel: 6.8.0-40-generic arch: x86_64 bits: 64 Console: pty pts/1 Distro: Ubuntu 24.04 LTS (Noble Numbat) Machine: Type: Desktop Mobo: N/A model: N/A serial: <superuser required> UEFI: American Megatrends LLC. v: 5.27 date: 04/29/2024 CPU: Info: quad core model: Intel N100 bits: 64 type: MCP cache: L2: 2 MiB Speed (MHz): avg: 1237 min/max: 700/3400 cores: 1: 700 2: 700 3: 700 4: 2850 Graphics: Device-1: Intel Alder Lake-N [UHD Graphics] driver: N/A Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: N/A tty: 120x30 API: EGL v: 1.5 drivers: kms_swrast,swrast platforms: gbm,wayland,surfaceless,device API: OpenGL v: 4.5 vendor: mesa v: 24.0.9-0ubuntu0.1 note: console (EGL sourced) renderer: llvmpipe (LLVM 17.0.6 256 bits) Audio: Device-1: Intel Alder Lake-N PCH High Definition Audio driver: snd_hda_intel API: ALSA v: k6.8.0-40-generic status: kernel-api Server-1: PipeWire v: 1.0.5 status: active Network: Device-1: Realtek RTL8852BE PCIe 802.11ax Wireless Network driver: rtw89_8852be IF: wlp1s0 state: up mac: a8:41:f4:bc:3f:40 Device-2: Intel Ethernet I226-V driver: igc IF: enp2s0 state: down mac: 10:02:b5:86:00:0b Bluetooth: Device-1: IMC Networks Bluetooth Radio driver: btusb type: USB Report: hciconfig ID: hci0 state: up address: A8:41:F4:BC:3F:41 bt-v: 5.3 Drives: Local Storage: total: 119.24 GiB used: 11.67 GiB (9.8%) ID-1: /dev/nvme0n1 vendor: Samsung model: MZ9LQ128HBHQ-000H1 size: 119.24 GiB Partition: ID-1: / size: 115.78 GiB used: 11.67 GiB (10.1%) fs: ext4 dev: /dev/nvme0n1p2 ID-2: /boot/efi size: 1.05 GiB used: 6.1 MiB (0.6%) fs: vfat dev: /dev/nvme0n1p1 Swap: ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) file: /swap.img Sensors: System Temperatures: cpu: 42.0 C mobo: N/A Fan Speeds (rpm): N/A Info: Memory: total: 8 GiB note: est. available: 7.54 GiB used: 2.48 GiB (32.9%) Processes: 249 Uptime: 38m Init: systemd target: graphical (5) Shell: Bash inxi: 3.3.34 |
การทดสอบประสิทธิภาพของ Radxa X4 Kit
การทดสอบด้วย sbc-bench.sh
เราทำการทดสอบด้วย sbc-bench.sh ซึ่งได้ผลลัพธ์ดังนี้ และสามารถอ่านรายงานฉบับเต็มได้ที่ https://0x0.st/XYiQ.bin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
unoiot@radxa-x4:~/sbc-bench$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.67 Installing needed tools: distro packages already installed. Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (11 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj Full results uploaded to https://0x0.st/XYiQ.bin |
ข้อมูลทั่วไป
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
### General information: Information courtesy of cpufetch: Name: Intel(R) N100 Microarchitecture: Alder Lake Technology: 10nm Max Frequency: 3.400 GHz Cores: 4 cores AVX: AVX,AVX2 FMA: FMA3 L1i Size: 64KB (256KB Total) L1d Size: 32KB (128KB Total) L2 Size: 2MB L3 Size: 6MB N100, Kernel: x86_64, Userland: amd64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 700 3400 Alder Lake 1 0 1 700 3400 Alder Lake 2 0 2 700 3400 Alder Lake 3 0 3 700 3400 Alder Lake 7716 KB available RAM ### Policies (performance vs. idle consumption): Status of performance related policies found below /sys: /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave ### Clockspeeds (idle vs. heated up): Before at 64.0°C: cpu0: OPP: 3400, Measured: 3387 After at 71.0°C: cpu0: OPP: 3400, Measured: 3387 ### Performance baseline * memcpy: 8128.3 MB/s, memchr: 13245.3 MB/s, memset: 7960.9 MB/s * 16M latency: 148.1 126.4 147.4 126.1 146.4 125.2 118.6 126.0 * 128M latency: 161.9 144.5 162.4 144.5 160.7 171.1 138.4 141.8 * 7-zip MIPS (3 consecutive runs): 8091, 8139, 8126 (8120 avg), single-threaded: 3424 * `aes-256-cbc 868184.59k 1178146.54k 1217933.31k 1228269.23k 1229335.21k 1230831.62k` * `aes-256-cbc 877441.60k 1138375.57k 1211967.74k 1227919.02k 1227696.81k 1229892.27k` ### PCIe and storage devices: * Intel Alder Lake-N [UHD Graphics] (Onboard - Video): driver in use: i915 * Intel Alder Lake-N Thunderbolt 4 USB (Onboard - Other): driver in use: xhci_hcd * Intel Device 54fc (Onboard - Other): driver in use: * Intel Alder Lake-N PCH USB 3.2 xHCI Host (Onboard - Other): driver in use: xhci_hcd * Intel Device 54c4 (Onboard - Other): driver in use: sdhci-pci * Realtek RTL8852BE PCIe 802.11ax Wireless Network: Speed 2.5GT/s, Width x1, driver in use: rtw89_8852be, * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, * 119.2GB "SAMSUNG MZ9LQ128HBHQ-000H1" SSD as /dev/nvme0: Speed 8GT/s, Width x4, 0% worn out, 306 error log entries, unhealthy drive temp: 61°C, ASPM Disabled * Winbond W25Q128 16MB SPI NOR flash, drivers in use: spi-nor/intel-spi "nvme error-log /dev/nvme0 ; smartctl -x /dev/nvme0" could be used to get further information about the reported issues. |
จากการทดสอบ Benchmark จะพบว่าอุณหภูมิของ CPU ในการทดสอบอยู่ที่ค่าเฉลี่ยนไม่เกิน 70 องศาเซลเซียส แต่เมื่อเทียบกับการทดสอบ CPU N100 จากบอร์ดอื่นจะพบว่าสิ่งที่ต่างกันคือค่าสัญญาณนาฬิกาของ Radxa X4 ทำงานต่ำกว่าในบางการทดสอบเช่น cpuminer ซึ่งจะพบว่าสัญญาณนาฬิกาเริ่มลดลงหลังจากการทดสอบ 7-zip single core benchmark ซึ่งหากดูในรายงานจะพบว่ามีการแจ้งว่าพบ “Powercap detected”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
System health while running tinymembench: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:44:41: 3079MHz 0.22 11% 0% 10% 0% 0% 0% 68.0°C 09:44:51: 2925MHz 0.34 25% 0% 25% 0% 0% 0% 77.0°C 09:45:01: 2910MHz 0.44 25% 0% 25% 0% 0% 0% 84.0°C 09:45:12: 2900MHz 0.53 25% 0% 25% 0% 0% 0% 75.0°C 09:45:22: 2900MHz 0.60 25% 0% 25% 0% 0% 0% 75.0°C 09:45:32: 3133MHz 0.66 25% 0% 25% 0% 0% 0% 72.0°C 09:45:42: 2907MHz 0.72 25% 0% 25% 0% 0% 0% 65.0°C 09:45:52: 3089MHz 0.76 25% 0% 25% 0% 0% 0% 63.0°C System health while running ramlat: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:46:01: 2900MHz 0.80 11% 0% 11% 0% 0% 0% 70.0°C 09:46:04: 2914MHz 0.81 25% 0% 25% 0% 0% 0% 69.0°C 09:46:07: 3093MHz 0.81 25% 0% 25% 0% 0% 0% 70.0°C 09:46:10: 2901MHz 0.83 25% 0% 25% 0% 0% 0% 65.0°C 09:46:13: 2900MHz 0.83 25% 0% 25% 0% 0% 0% 62.0°C 09:46:16: 3091MHz 0.84 25% 0% 25% 0% 0% 0% 64.0°C 09:46:19: 2915MHz 0.86 25% 0% 25% 0% 0% 0% 64.0°C 09:46:22: 3079MHz 0.86 25% 0% 25% 0% 0% 0% 64.0°C 09:46:25: 2901MHz 0.87 25% 0% 25% 0% 0% 0% 65.0°C 09:46:28: 2949MHz 0.87 25% 0% 24% 0% 0% 0% 66.0°C System health while running OpenSSL benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:46:31: 2905MHz 0.88 11% 0% 11% 0% 0% 0% 89.0°C 09:46:47: 2900MHz 0.91 25% 0% 25% 0% 0% 0% 81.0°C 09:47:04: 2908MHz 0.93 25% 0% 25% 0% 0% 0% 78.0°C System health while running 7-zip single core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:47:07: 2900MHz 0.93 11% 0% 11% 0% 0% 0% 79.0°C 09:47:12: 2902MHz 0.94 25% 0% 25% 0% 0% 0% 80.0°C 09:47:18: 2917MHz 0.94 25% 0% 24% 0% 0% 0% 75.0°C 09:47:23: 2971MHz 0.95 25% 0% 24% 0% 0% 0% 77.0°C 09:47:28: 2900MHz 0.95 25% 0% 24% 0% 0% 0% 75.0°C 09:47:33: 2900MHz 0.96 25% 0% 24% 0% 0% 0% 79.0°C 09:47:38: 2943MHz 0.96 25% 0% 24% 0% 0% 0% 77.0°C 09:47:43: 2959MHz 0.96 25% 0% 24% 0% 0% 0% 75.0°C 09:47:48: 2902MHz 0.97 25% 0% 24% 0% 0% 0% 78.0°C System health while running 7-zip multi core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:47:50: 2500MHz 1.37 11% 0% 11% 0% 0% 0% 77.0°C 09:48:00: 2400MHz 1.78 97% 0% 97% 0% 0% 0% 64.0°C 09:48:10: 2800MHz 2.12 97% 1% 95% 0% 0% 0% 64.0°C 09:48:21: 2200MHz 2.48 97% 1% 95% 0% 0% 0% 71.0°C 09:48:31: 2600MHz 2.80 94% 3% 91% 0% 0% 0% 75.0°C 09:48:42: 2400MHz 2.98 97% 1% 95% 0% 0% 0% 74.0°C 09:48:52: 2400MHz 3.14 97% 0% 96% 0% 0% 0% 77.0°C 09:49:02: 2500MHz 3.27 96% 1% 95% 0% 0% 0% 75.0°C 09:49:13: 2200MHz 3.53 98% 1% 97% 0% 0% 0% 74.0°C 09:49:23: 2600MHz 3.91 93% 3% 90% 0% 0% 0% 75.0°C 09:49:34: 2500MHz 3.92 97% 1% 95% 0% 0% 0% 75.0°C 09:49:44: 2500MHz 3.94 97% 0% 96% 0% 0% 0% 77.0°C 09:49:55: 2400MHz 3.95 96% 1% 95% 0% 0% 0% 75.0°C 09:50:05: 2900MHz 4.09 95% 1% 93% 0% 0% 0% 68.0°C 09:50:15: 2700MHz 4.15 96% 3% 93% 0% 0% 0% 78.0°C System health while running cpuminer: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:50:26: 2400MHz 4.13 12% 0% 12% 0% 0% 0% 75.0°C 09:51:08: 2400MHz 4.10 100% 0% 99% 0% 0% 0% 77.0°C 09:51:50: 2400MHz 4.05 100% 0% 99% 0% 0% 0% 77.0°C 09:52:31: 2400MHz 4.10 100% 0% 99% 0% 0% 0% 77.0°C 09:53:13: 2400MHz 4.05 100% 0% 99% 0% 0% 0% 77.0°C 09:53:55: 2400MHz 4.02 100% 0% 99% 0% 0% 0% 75.0°C 09:54:37: 2400MHz 4.13 100% 0% 99% 0% 0% 0% 78.0°C 09:55:19: 2300MHz 4.13 100% 1% 98% 0% 0% 0% 78.0°C |
ซึ่งตอนแรกคาดว่าน่าจะเกิดจากการจ่ายพลังงานที่ต่ำลงของ USB Adaptor ในชุดคิต แต่ลองเปลี่ยนแล้วทดสอบก็ยังได้ค่าใกล้เคียงของเดิม ดังนั้นแสดงว่ามีการจำกัดการใช้พลังงาน โดยเราจะตรวจสอบด้วยการใช้คำสั่ง “sudo powercap-info -p intel-rapl” เพื่อตรวจสอบ ซึ่งจากข้อมูลจะพบว่าค่า power limit ของ PL1 (long duration) ถูกตั้งค่าไว้ที่ 6W และค่าของ PL2 (short duration) จะอยู่ที่ 25W ซึ่งค่า TDP ของ N100 อยู่ที่ 6W
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
unoiot@radxa-x4:~/sbc-bench$ sudo powercap-info -p intel-rapl [sudo] password for unoiot: enabled: 1 Zone 0 name: package-0 enabled: 1 max_energy_range_uj: 262143328850 energy_uj: 20244765495 Constraint 0 name: long_term power_limit_uw: 6000000 time_window_us: 27983872 max_power_uw: 6000000 Constraint 1 name: short_term power_limit_uw: 25000000 time_window_us: 2440 max_power_uw: 0 Constraint 2 name: peak_power power_limit_uw: 78000000 max_power_uw: 0 Zone 0:0 name: core enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 9474396765 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 976 Zone 0:1 name: uncore enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 102212567 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 976 Zone 1 name: psys enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 2752025303 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 27983872 Constraint 1 name: short_term power_limit_uw: 0 time_window_us: 976 |
เลยทำการปรับตั้งค่าของ PL1 ให้เป็น 15W ตามค่า default ของ N100 [ตามวิธีในบทความ] ดังนี้
1 |
unoiot@radxa-x4:~$ sudo powercap-set intel-rapl -z 0 -c 0 -l 15000000 |
แล้วทดสอบใหม่อีกครั้งผลลัพธฺ์ที่ได้คือ ค่าอุณหภูมิที่พุ่งไปสูงมาก นั่นคือเหตุผลว่าทำไมค่า default ของ PL1 ถึงถูกจำกัดเอาไว้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
System health while running 7-zip multi core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:59:42: 2900MHz 1.41 5% 0% 4% 0% 0% 0% 88.0°C 17:59:52: 2900MHz 1.81 98% 0% 97% 0% 0% 0% 92.0°C 18:00:03: 2900MHz 2.14 97% 0% 97% 0% 0% 0% 93.0°C 18:00:13: 2900MHz 2.43 95% 1% 93% 0% 0% 0% 93.0°C 18:00:24: 2900MHz 2.59 97% 0% 97% 0% 0% 0% 95.0°C 18:00:35: 2900MHz 2.81 97% 0% 97% 0% 0% 0% 95.0°C 18:00:45: 2900MHz 2.92 95% 1% 94% 0% 0% 0% 96.0°C 18:00:56: 2900MHz 3.09 97% 1% 95% 0% 0% 0% 95.0°C 18:01:06: 2900MHz 2.99 97% 0% 96% 0% 0% 0% 95.0°C 18:01:17: 2900MHz 3.15 95% 1% 93% 0% 0% 0% 95.0°C System health while running cpuminer: Time CPU load %cpu %sys %usr %nice %io %irq Temp 18:01:21: 2700MHz 3.29 5% 0% 5% 0% 0% 0% 95.0°C 18:02:02: 2900MHz 3.71 100% 0% 99% 0% 0% 0% 94.0°C 18:02:43: 2657MHz 3.85 100% 0% 99% 0% 0% 0% 95.0°C 18:03:24: 2757MHz 3.93 100% 0% 99% 0% 0% 0% 97.0°C 18:04:05: 2700MHz 3.96 100% 0% 99% 0% 0% 0% 94.0°C 18:04:45: 2700MHz 3.98 100% 0% 99% 0% 0% 0% 94.0°C 18:05:26: 2800MHz 3.99 100% 0% 99% 0% 0% 0% 93.0°C 18:06:07: 2562MHz 4.00 100% 0% 99% 0% 0% 0% 95.0°C |
เมื่อเข้าใจถึงสาเหตุแล้ว เลยกลับมาเปรียบเทียบเปรียบเทียบผลลัพธ์ของ แบนด์วิดท์หน่วยความจำ และ 7-zip เทียบกับ Raspberry Pi 5 และ SBC อื่นๆ ค่าจาก Radxa X4 นั้น memcpy: 8128.3 MB/s, memchr: 13245.3 MB/s, memset: 7960.9 MB/s ซึ่งเปรียบเทียบกับ Raspberry Pi 5 ที่ได้ memcpy: 5158.3 MB/s, memchr: 13463.2 MB/s, memset: 11671.4 MB/s จะพบว่ามีเพียงค่า memset ที่ได้ต่ำกว่า Raspberry Pi 5 แต่ค่าที่ได้ต่ำกว่า RK3588E ทุกกรณี
การทดสอบประสิทธิภาพของ NVMe SSD
- ทดสอบด้วย IOZONE3
เราทำการทดสอบประสิทธิภาพของ NVMe SSD ที่มากับชุดคิตด้วยโปรแกรม IOZONE3 โดยทำการปิดค่าแคชลงเพื่อให้ได้ค่าการอ่ารเขียนจากดิสก์จริง ๆ โดยผลการทดสอบเป็นดังข้อมูลด้านล่าง โดยจะพบว่าความเร็วในการ เขียน/อ่าน NVMe SSD PM991 ของ Samsung ซึ่งเป็น PCIe 3.0 X4 นั้นอยู่ที่ 1,700 MB/s และ 946 MB/s
1 2 3 4 5 6 7 8 9 |
unoiot@radxa-x4:~$ sudo iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 932760 956635 1739815 1752363 1162460 952762 524288 16384 946899 936658 1716719 1724943 1666791 925752 iozone test complete. |
- ทดสอบด้วย smartctl
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
unoiot@radxa-x4:~/sbc-bench/results$ sudo smartctl -x /dev/nvme0 smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-40-generic] (local build) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: SAMSUNG MZ9LQ128HBHQ-000H1 Serial Number: S5MJNF0R416841 Firmware Version: HPS6NFXV PCI Vendor/Subsystem ID: 0x144d IEEE OUI Identifier: 0x002538 Total NVM Capacity: 128,035,676,160 [128 GB] Unallocated NVM Capacity: 0 Controller ID: 5 NVMe Version: 1.3 Number of Namespaces: 1 Namespace 1 Size/Capacity: 128,035,676,160 [128 GB] Namespace 1 Utilization: 11,309,760,512 [11.3 GB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 002538 a411c47efb Local Time is: Sat Sep 7 12:28:08 2024 +07 Firmware Updates (0x16): 3 Slots, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp Log Page Attributes (0x0f): S/H_per_NS Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Maximum Data Transfer Size: 512 Pages Warning Comp. Temp. Threshold: 79 Celsius Critical Comp. Temp. Threshold: 82 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 4.86W - - 0 0 0 0 0 0 1 + 4.49W - - 1 1 1 1 0 0 2 + 2.37W - - 2 2 2 2 0 500 3 - 0.0500W - - 3 3 3 3 210 1200 4 - 0.0050W - - 4 4 4 4 1000 9000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 0 1 - 4096 0 0 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 45 Celsius Available Spare: 100% Available Spare Threshold: 5% Percentage Used: 0% Data Units Read: 782,065 [400 GB] Data Units Written: 657,285 [336 GB] Host Read Commands: 5,624,333 Host Write Commands: 12,274,628 Controller Busy Time: 74 Power Cycles: 465 Power On Hours: 6 Unsafe Shutdowns: 387 Media and Data Integrity Errors: 0 Error Information Log Entries: 294 Warning Comp. Temperature Time: 70 Critical Comp. Temperature Time: 0 Temperature Sensor 1: 45 Celsius Error Information (NVMe Log 0x01, 16 of 64 entries) Num ErrCount SQId CmdId Status PELoc LBA NSID VS Message 0 294 0 0x1004 0x4004 - 0 0 - Invalid Field in Command Self-test Log (NVMe Log 0x06) Self-test status: No self-test in progress No Self-tests Logged |
ทดสอบประสิทธิภาพของ graphic card ด้วย UNIGINE Benchmarks
เราเลือกทดสอบประสิทธิภาพของ graphic card ด้วย UNIGINE Benchmarks ซึ่งผลของการ Benchmark ได้ค่า FPS อยู่ที่ 12.4 ค่า Min FPS อยู่ที่ 7.2 และ Max FPS อยู่ที่ 24 ดังแสดงในรูปภาพด้านล่าง
ทดสอบประสิทธิภาพของ LAN และ Wi-Fi
ในการทดสอบประสิทธิภาพของเครือข่ายเราจะทำการทดสอบความเร็วของ LAN และ Wi-Fi โดยการทดสอบด้วยโปรแกรม iperf3
- iperf3 บน ETH0
ซึ่งบอร์ด Radxa X4 ระบุไว้ว่า ethernet มีความเร็วที่ 2.5Gbps ซึ่งได้เชื่อมต่อทดสอบร่วมกับบอร์ด LattePanda Mu ซึ่งเป็น 2.5Gbps เช่นเดียวกัน โดยใช้สาย LAN CAT6A ซึ่งรองรับได้ถึง 10Gbps
- ทดสอบใน client mode
จากคุณสมบัติของบอร์ดที่แจ้งว่า ethernet port เป็น 2.5Gbps เมื่อเราทดสอบที่ port ETH0 ก็พบว่าความเร็วในการส่งข้อมูลทำได้ที่เฉลี่ย 2.35 Gbits/sec เป็นความเร็วที่ทำได้ดี
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
unoiot@radxa-x4:~$ iperf3 -c 192.168.16.1 Connecting to host 192.168.16.1, port 5201 [ 5] local 192.168.16.2 port 47724 connected to 192.168.16.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 284 MBytes 2.38 Gbits/sec 0 658 KBytes [ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec 0 658 KBytes [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec 0 658 KBytes [ 5] 3.00-4.00 sec 281 MBytes 2.36 Gbits/sec 0 697 KBytes [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec 0 697 KBytes [ 5] 5.00-6.00 sec 279 MBytes 2.34 Gbits/sec 0 697 KBytes [ 5] 6.00-7.00 sec 281 MBytes 2.36 Gbits/sec 0 697 KBytes [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec 0 697 KBytes [ 5] 8.00-9.00 sec 281 MBytes 2.36 Gbits/sec 0 697 KBytes [ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec 230 501 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec 230 sender [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec receiver iperf Done. |
- ทดสอบใน server mode
จากนั้นเราทดสอบให้ บอร์ด Radxa X4 เรียกใช้โปรแกรม iperf3 ในโหมด server เพื่อดูข้อมูลที่รับกลับมาบ้าง ก็ได้ผลลัพธ์ใกล้เคียงกับตอนทำงานเป็น client คือสามารถรับข้อมูลได้ที่ความเร็วเฉลี่ย 2.35 Gbits/sec
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
unoiot@radxa-x4:~$ iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from 192.168.16.1, port 44762 [ 5] local 192.168.16.2 port 5201 connected to 192.168.16.1 port 44764 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 1.00-2.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 6.00-7.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 8.00-9.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 10.00-10.00 sec 640 KBytes 2.17 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec receiver ----------------------------------------------------------- Server listening on 5201 (test #2) ----------------------------------------------------------- |
- iperf3 บน WLAN0
- ทดสอบใน client mode
การทดสอบความเร็วของ Wi-Fi นั้น เราใช้โมดูล M.2 จาก AzureWave ที่ใช้ chip RTL8852BE (Wi-Fi 5) เราทำทดสอบโดยใช้เน็ตเวิร์ค 5GHz ของ Xiaomi Router AX3200 ซึ่งความเร็วในการรับส่งข้อมูลเฉลี่ยนอยู่ที่ 581 Mbps ก็ถือว่าเป็นไปตามมาตรฐาน AC600
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
unoiot@radxa-x4:~$ iperf3 -c 192.168.31.124 Connecting to host 192.168.31.124, port 5201 [ 5] local 192.168.31.149 port 53874 connected to 192.168.31.124 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 64.6 MBytes 542 Mbits/sec 0 2.62 MBytes [ 5] 1.00-2.00 sec 66.1 MBytes 555 Mbits/sec 0 2.62 MBytes [ 5] 2.00-3.00 sec 71.5 MBytes 600 Mbits/sec 0 2.62 MBytes [ 5] 3.00-4.00 sec 74.0 MBytes 621 Mbits/sec 0 2.62 MBytes [ 5] 4.00-5.00 sec 76.9 MBytes 645 Mbits/sec 0 2.62 MBytes [ 5] 5.00-6.00 sec 73.9 MBytes 620 Mbits/sec 0 2.62 MBytes [ 5] 6.00-7.00 sec 64.1 MBytes 538 Mbits/sec 0 2.62 MBytes [ 5] 7.00-8.00 sec 62.1 MBytes 521 Mbits/sec 0 2.62 MBytes [ 5] 8.00-9.00 sec 69.8 MBytes 585 Mbits/sec 0 2.62 MBytes [ 5] 9.00-10.00 sec 69.5 MBytes 583 Mbits/sec 0 2.62 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 693 MBytes 581 Mbits/sec 0 sender [ 5] 0.00-10.01 sec 692 MBytes 579 Mbits/sec receiver iperf Done. |
- ทดสอบใน server mode
จากนั้นเราทดสอบให้ บอร์ด Radxa X4 เรียกใช้โปรแกรม iperf3 ในโหมด server เพื่อดูข้อมูลที่รับกลับมาบ้าง ข้อมูลที่ได้รับกลับมามีความเร็วน้อยกว่าบ้างเนื่องจากเป็น Wi-Fi ได้ค่าอยู่ที่ 500 Mbits/sec
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
unoiot@radxa-x4:~$ iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from 192.168.31.124, port 56240 [ 5] local 192.168.31.149 port 5201 connected to 192.168.31.124 port 56242 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 57.9 MBytes 485 Mbits/sec [ 5] 1.00-2.00 sec 60.4 MBytes 507 Mbits/sec [ 5] 2.00-3.00 sec 55.6 MBytes 467 Mbits/sec [ 5] 3.00-4.00 sec 58.5 MBytes 491 Mbits/sec [ 5] 4.00-5.00 sec 60.8 MBytes 510 Mbits/sec [ 5] 5.00-6.00 sec 59.0 MBytes 495 Mbits/sec [ 5] 6.00-7.00 sec 61.1 MBytes 513 Mbits/sec [ 5] 7.00-8.00 sec 60.9 MBytes 511 Mbits/sec [ 5] 8.00-9.00 sec 61.4 MBytes 515 Mbits/sec [ 5] 9.00-10.00 sec 61.0 MBytes 512 Mbits/sec [ 5] 10.00-10.03 sec 2.12 MBytes 525 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.03 sec 599 MBytes 500 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 (test #2) ----------------------------------------------------------- |
การทดสอบการใช้งานเว็บและมัลติมีเดียร์
- การท่องเว็บ
ในการประสิทธิภาพการท่องเว็บ เราจะใช้ Speedometer 2.0 ถึงแม้ว่าปัจจุบันจะถูกแนะนำให้ทดสอบด้วย speedometer 3.0 แล้วก็ตาม เพื่อให้เราสามารถเปรียบเทียบกับ Raspberry Pi 5 ที่เคยทดสอบไว้ได้ โดยเราจะตรวจสอบประสิทธิภาพในแต่ละเว็บบราวเซอร์ ซึ่งบน Ubuntu จะมีเพียง Firefox ติดตั้งมาให้ เราต้องทำการติดตั้ง Chromium เพิ่มด้วยตัวเองก่อนเริ่มการทดสอบ
Speedometer 2.0 แสดงให้เห็นว่าผลการทดสอบบน Firefox จะช้ากว่า Chromium โดยค่าจากการทดสอบบน Chromium อยู่ที่ 175 ซึ่งสูงกว่าบน Firefox ราว ๆ 12% โดยส่วนของผลการทดสอบบน Firefox นั้นได้คะแนนที่ 153 และเมื่อเปรียบเทียบกับบอร์ด Raspberry Pi 5 ที่ได้คะแนนที่ 56 แล้วจะพบว่า คะแนนของ Radxa X4 สูงกว่าราว ๆ 3 เท่า
- WebGL Aquarium demo
การทดสอบด้วย WebGL Aquarium demo บน Chromium นั้นทดสอบด้วยการกำหนดเป้าหมายว่าที่ frame rate ที่สูงกว่า 30 FPS จะได้มีจำนวนปลาที่ว่ายน้ำอยู่กี่ตัว โดยผลลัพธ์ที่น่าพอใจคือ สามารถทดสอบได้ 32 fps ที่ปลาจำนวน 15,000 ตัว ซึ่งถ้าเปรียบกับตัวแรงอย่าง RK3588s ทำได้ 31 fps ที่ 5,000 ตัว ถือว่าใกล้เคียงกันมาก
- การทดสอบเล่น YouTube และวิดีโอ
ในส่วนของการทดสอบการเล่นวิดีโอต้นฉบับบน Youtube ที่ความละเอียด 4k ที่ 30 fps สามารถเล่นไฟล์ได้โดยไม่ปรากฎ frame drop ให้เห็น แต่อย่างใด
จากนั้นเราการทดสอบการเล่นวิดีโอบน Youtube ด้วยความละเอียดต้นฉบับ 4k ที่ 60 fps สามารถเล่นไฟล์ได้โดยมี frame drop ที่ราว ๆ 17 % และพบการหยุดโหลดตลอดเวลา ซึ่งเมื่อดูค่าความเร็วจาก connection speed ที่แสดงซึ่งอยู่ที่ เกิน 100 mbps ไม่น่าจะ
- การเล่นไฟล์ Video
การทดสอบเล่นไฟล์ codec H.264 ความละเอียด Full HD(1920 x 1080) ด้วยโปรแกรม VLC สามารถเล่นได้ ดีโดยไมี frame drop ที่ต่ำมาก โดยเราทดสอบด้วยวิดีโอ Big Bug Bunny เรื่องการถอดรหัสเสียงต่าง ๆทำได้ครบถ้วน
จากนั้นเราทดสอบเล่นไฟล์ที่เป็น H.265 ที่ความละเอียด 4K@30fps ก็สามารถเล่นไฟล์ได้โดยไม่มีการกระตุกเมื่อเปิดดูค่าสถิติก็จะพบว่ามี frame drop ที่ประมาณ 10% ซึ่งค่อนข้างได้ผลที่แปลกไปจากผลการทดสอบบอร์ดที่ใช้ CPU N100 ตัวอื่นที่จะอยู่ที่ 1% เท่านั้น
ตรวจสอบการใช้พลังงาน
การทดสอบวัดการใช้พลังงานของ Radxa X4 บนบอร์ด โดยใช้ USB power meter ได้ค่าผลลัพธ์ขณะทดสอบดังนี้
- ขณะปิดเครื่อง การใช้พลังงานอยู่ที่ประมาณ 0.2 Watt
- เมื่อเริ่ม boot ในขั้นตอน POST จะใช้พลังงานอยู่ที่ ประมาณ 12 Watt
- เมื่ออยู่ในสถานะ Idle หลังจากบูตสำเร็จแล้วการใช้พลังงานจะอยู่ที่ประมาณ 6 Watt
ลองทดสอบเล่นไฟล์ video บน youtube ที่ความละเอียด 4K 60FPS ใช้พลังงานในการทำงานอยู่ที่ 12 Watt
- ทดสอบการทำงานเต็มที่บนทั้ง 4 คอร์ ด้วย 7Zip Benchmark ใช้พลังงานอยู่ที่ 12 Watt
ซึ่งหลังจากทดสอบการทำงานครบถ้วนแล้ว ก็จะข้อเปรียบเทียบการใช้พลังงานเทียบกับบอร์ด N100 อื่น ที่เคยทดสอบมาจากอัตราการใช้พลังงานจะพบว่าใช้น้อยกว่าบอร์ดอื่น ๆ เช่น Lattepanda Mu มาก
การทดลองใช้งาน GPIO
การใช้งาน GPIO บนบอร์ด Radxa X4 นี้จะเป็นการใช้งานบน MCU RP2040 ที่อยู่บนบอร์ด ไม่ได้เป็นการติดต่อกับ GPIO ของ CPU โดยตรง โดยจะเชื่อมต่อกันผ่านสองการสื่อสารคือ USB mass storage สำหรับการอัพโหลดโปรแกรม และ UART สำหรับการรับส่งข้อมูลระหว่างการทำงาน เพื่อให้เข้าใจง่าย ๆ คือ หากเราต้องการใช้งาน GPIO เราต้องเขียนโปรแกรมและ compile/upload ให้ใช้งานผ่าน RP2040 ได้และในระหว่างการทำงานนั้น การติดต่อสื่อสารระหว่าง N100 กับ RP2040 ที่ทำได้คือ การรับส่งข้อมูลแบบ serial ผ่าน UART เท่านั้น
การเชื่อมต่อ
โดยการเชื่อมต่อเราจะสามารถอ้างอิงขาต่าง ๆ ได้ตามตารางด้านล่าง [ที่มา] โดยขาทุกขายกเว้นขาที่เป็นไฟเลี้ยงและกราวด์ จะสามารถทำงานได้หลาย function ตามที่ปรากฎในตาราง
ซึ่งเราจะทดสอบกับ GPS receiver ของ Beitian รุ่น BN-180 ซึ่งใช้การติดต่อสื่อสารแบบ UART จึงได้เลือกเชื่อมต่อกับขา GPIO 20,21 ซึ่งใน function3 แสดงข้อมูลว่าเป็น UART1 TX และ UART1 RX
การพัฒนาโปรแกรม
ในขั้นตอนการพัฒนาโปรแกรมนั้นในเว็บไซต์ของ Radxa เองมีแนะนำให้พัฒนาด้วย PICO-SDK แต่ในรีวิวนี้จะใช้การพัฒนาด้วย PlatformIO ซึ่งรองรับการพัฒนา RP2040 บน Arduino core เนื่องจากเราสามารถพัฒนาต่อยอดได้ง่ายกว่า โดยเริ่มจากการติดตั้ง VSCODE บน Ubuntu ให้เรียบร้อย [ขั้นตอน] แล้วทำการติดตั้ง extension PlatformIO ให้เสร็จสิ้นจากนั้นเรา ทดลองสร้าง project โดยเลือกบอร์ดเป็น Raspberry Pi Pico จากนั้นทดลองเขียนโค้ดทดสอบแบบง่าย ๆ ให้ทำงานเป็น serial bridge
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <Arduino.h> UART Serialx(0, 1, 0, 0); UART Serial2(20, 21, 0, 0); void setup() { Serial.begin(115200); Serialx.begin(115200); Serial2.begin(9600); } void loop() { if (Serial.available()) { Serial2.write(Serial.read()); } if (Serial2.available()) { Serial.write(Serial2.read()); Serialx.write(Serial2.read()); } } |
โดยสร้าง Serial พอร์ตใช้งานจำนวนทั้งสิ้น 3 พอร์ตคือ Serial , Serial2 และ Serialx โดย Serial คือพอร์ตสำหรับ debug ค่าต่าง ๆ ของ Rp2040 ส่วน Serial2 คือพอร์ตที่เชื่อมต่อกับ GPS receiver และสุดท้าย Serialx คือพอร์ตที่เชื่อมต่อเข้ากับ ttyS4 ของ CPU
หลังจากนั้นเราทำการ build และ upload ไฟล์ได้เลยโดยไม่ต้องกดปุ่ม BOOTSEL เพื่อลากไฟล์ .uf2 แล้วโดยเราจะทำการตั้งค่าในไฟล์ platformio.ini ให้ใช้ upload protocol เป็น picotool
1 2 3 4 5 |
[env:pico] platform = raspberrypi board = pico framework = arduino upload_protocol = picotool |
ซึ่งหลังจากตั้งต่าเสร็จสิ้นเราก็จะสามารถ build/upload ได้โดยสะดวกไม่ต้องคอยมากดปุ่มให้ลำบาก เนื่องจากปุ่มอยู่ด้านใต้ของเคสทำให้เกิดความลำบากในการกดแต่ละครั้ง การใช้วิธีนี้จึงสะดวกมากกว่า
การทดสอบ
หลังจาก upload โปรแกรมเรียบร้อยแล้วเราจะทดสอบดูว่าการสื่อสารระหว่าง Rp2040 กับ N100 สามารถทำได้ถูกต้องหรือไม่ด้วยการสร้างใช้โปรแกรม minicom ในการดูข้อมูลที่รับส่งระหว่าง CPU และ MCU ด้วยคำสั่ง
1 |
minicom -D /dev/ttyS4 -b 115200 |
ซึ่งก็จะแสดงข้อมูลที่ถูกอ่านจาก GPS receiver มาปรากฎบนหน้าจอ ซึ่งจากการทดสอบนี้เราก็จะพบว่าเราสามารถเชื่อมต่ออุปกรณ์ต่าง ๆ เข้ากับบอร์ด Radxa X4 ได้ง่ายขึ้น เพราะเราสามารถพัฒนาโค้ดจาก Arduino ได้ ถึงแม้การรับส่งข้อมูลระหว่าง CPU และ MCU จะมีข้อจำกัดอยู่บ้างจากการใช้ได้แค่ UART ในการสื่อสาร
สรุปการใช้งานและทดสอบประสิทธิภาพของ Radxa X4 บน Ubuntu 24.04
เมื่อจบการทดสอบประสิทธิภาพของ Radxa X4 บน Ubuntu 24.04 แล้วก็พบว่าเมื่อต้องนำมาเปรียบเทียบกันกับ Raspberry Pi 5 ก็มีแง่มุมที่น่าสนใจหลายด้าน เช่น Raspberry Pi 5 ได้คะแนนที่สูงกว่าในการ benchmark ในหัวข้อ memset , 7zip และ OpenSSL AES-256 16K ซึ่งได้คะแนนสูงกว่าไม่มาก
ในการทดสอบประสิทธิภาพด้านกราฟฟิกนั้น Radxa X4 ให้คะนนที่สูงกวาสามเท่าเลยทีเดียว และยังมีความเร็วในการอ่าน SSD ที่สูงกว่ามากด้วย ซึ่งในหัวข้อการใช้งานเครือข่าย Radxa X4 ก็ยังมีคะแนนนำทุกข้อเนื่องจากการใช้ 2.5Gb LAN และ Wi-Fi 5 ที่วิ่งบน PCIe Gen3 x4 แต่หากมาดูต่อในเรื่องการใช้พลังงานแล้ว Raspberry Pi 5 ยังได้เปรียบในด้านการใช้พลังงานที่ต่ำกว่า เมื่อมาดูในการเชื่อมต่ออุปกรณ์และการใช้งานทั่วไปสองบอร์ดนี้ไม่ต่างกัน แต่หากเป็นการใช้งาน GPIO แล้ว Raspberry Pi 5 ยังใช้งานได้สะดวกกว่าเพราะเป็นการติดต่อตรงจาก CPU ไม่ต้องผ่าน Co-processor เหมือนที่ Radxa X4 เลือกทำผ่าน RP2040 สุดท้ายคือการสนับสนุนของระบบปฎิบัติการ เนื่องจากปัจจุบัน Windows ARM version ยังใช้งานแบบถูกต้องได้บน Raspberry Pi 5 แต่สามารถใช้งานได้บน Radxa X4 เลยดังนั้นหากต้องใช้งาน Windows Radxa X4 ยังเป็นคำตอบที่ดี แต่หากใช้งาน Linux ก็ถือว่าเสมอกันในข้อนี้
โดยสรุปการใช้งานและทดสอบประสิทธิภาพของ Radxa X4 นี้ถือว่าเป็นบอร์ด X64 ที่เล็กกระทัดรัดใช้งานได้มีประสิทธิภาพสูงมีการใส่เทคโนโลยีต่าง ๆ ที่จำเป็นลงไปได้ครบ เหมาะกับงานที่ต้องการความสามารทางกราฟฟิกและการประมวลผลที่สูง โดยอาจต้องแลกกับการใช้พลังงานที่สูงกว่าเมื่อเทียบกับบอร์ด Raspberry Pi 5 ในส่วนของการอัพเกรดในอนาคตทาง Radxa ก็ออกแบบให้ storage และ network ใช้การเชื่อมต่อผ่าน M.2 โดยไม่ต้องมี HAT อะไรเพิ่มเติม ทำให้เราสามารถอัพเกรดปรับปรุงอุปกรณ์ต่อเชื่อมได้โดยง่าย
สุดท้ายนี้ต้องขอขอบคุณ Radxa ที่ส่ง X4 SBC และอุปกรณ์เสริมมาให้ทำการรีวิว โดยหากคุณมองหาบอร์ด SBC ที่มีประสิทธิภาพสูงแบบนี้อยู่สามารถซื้อได้บน Aliexpress ในราคาเริ่มต้นที่ $63.37(~2,100฿) และสามารถสามารถซื้อได้บน Arace ในราคาเริ่มต้นที่ $80(~2,700฿)
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT