หลังจากการแกะกล่องทดสอบการทำงานของ ODROID-M1S มากว่า 1 เดือน การทดสอบประสิทธิภาพโดยรวมทั้งหมดก็เสร็จสิ้น โดยการทดสอบทำบน Ubuntu 20.04.6 LTS เนื่องจากในเว็บของ hardkernel เองมี official image ถึงเวอร์ชั่นนี้เท่านั้น
ซึ่งจากผลการทดสอบนี้ จะแสดงให้เห็นถึงประสิทธิภาพในด้านต่าง ๆ ของบอร์ด ODROID-M1S ที่ใช้ Rockchip RK3566 ในทุกด้าน โดยผลการทดสอบจะเป็นอย่างไรมาติดตามผลการทดสอบกันตามหัวข้อด้านล่างกันเลยดีกว่า
การทดสอบประสิทธิภาพของ ODROID-M1S
มาเริ่มการวัดประสิทธิภาพของ ODROID-M1S ด้วยสคริปต์ Thomas sbc-bench.sh กันเป็นอันดับแรก
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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
odroid@gnome-desktop:~/sbc-bench$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... Average load and/or CPU utilization too high (too much background activity). Waiting... sbc-bench v0.9.60 Installing needed tools, tinymembench, ramlat, mhz, cpufetch, cpuminer. 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 (16 minutes elapsed). Results validation: * Advertised vs. measured max CPU clockspeed: -1.4% before, -1.8% after -> https://tinyurl.com/32w9rr94 * Background activity (%system) OK # Hardkernel ODROID-M1S Tested with sbc-bench v0.9.60 on Sun, 21 Jan 2024 10:14:59 +0700. ### General information: Information courtesy of cpufetch: SoC: Rockchip RK3566 Technology: 22nm Microarchitecture: Cortex-A55 Max Frequency: 1.800 GHz Cores: 4 cores Features: NEON,SHA1,SHA2,AES,CRC32 Peak Performance: 57.60 GFLOP/s Rockchip RK3566 (35662000), Kernel: aarch64, Userland: arm64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 408 1800 Cortex-A55 / r2p0 1 0 0 408 1800 Cortex-A55 / r2p0 2 0 0 408 1800 Cortex-A55 / r2p0 3 0 0 408 1800 Cortex-A55 / r2p0 7676 KB available RAM ### Governors/policies (performance vs. idle consumption): Original governor settings: cpufreq-policy0: performance / 1800 MHz (interactive conservative ondemand userspace powersave performance / 408 600 816 1104 1416 1608 1800) fde60000.gpu: performance / 800 MHz (vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 200 300 400 600 700 800) fdf40000.rkvenc: performance / 400 MHz (vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 297 400) fdf80200.rkvdec: performance / 400 MHz (vdec2_ondemand venc_ondemand userspace powersave performance simple_ondemand / 297 400) Tuned governor settings: cpufreq-policy0: performance / 1800 MHz fde60000.gpu: performance / 800 MHz fdf40000.rkvenc: performance / 400 MHz fdf80200.rkvdec: performance / 400 MHz Status of performance related policies found below /sys: /sys/devices/platform/fde60000.gpu/power_policy: [coarse_demand] always_on /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave ### Clockspeeds (idle vs. heated up): Before at 44.4°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1775 (-1.4%) After at 59.4°C: cpu0 (Cortex-A55): OPP: 1800, Measured: 1767 (-1.8%) ### Performance baseline * memcpy: 2906.9 MB/s, memchr: 3139.8 MB/s, memset: 7952.8 MB/s * 16M latency: 180.7 183.8 181.6 183.0 180.2 181.9 244.0 451.9 * 128M latency: 217.3 194.0 190.3 193.6 189.0 194.1 251.4 482.6 * 7-zip MIPS (3 consecutive runs): 4581, 4575, 4612 (4590 avg), single-threaded: 1322 * `aes-256-cbc 156417.72k 398262.61k 654734.34k 780968.62k 827375.62k 827000.09k` * `aes-256-cbc 157146.64k 398160.17k 653565.10k 780867.58k 826146.82k 827419.31k` ### Storage devices: * 232.9GB "WD_BLACK SN770 250GB" SSD as /dev/nvme0: Speed 5GT/s (downgraded), Width x1 (downgraded), 0% worn out, drive temp: 47°C * 58.2GB "MMC64G" HS200 eMMC 5.1 card as /dev/mmcblk0: date 05/2023, manfid/oemid: 0x000032/0x0101, hw/fw rev: 0x0/0x0300000000000000 ### Software versions: * Ubuntu 20.04.6 LTS * Compiler: /usr/bin/gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0 / aarch64-linux-gnu * OpenSSL 1.1.1f, built on 31 Mar 2020 ### Kernel info: * `/proc/cmdline: storagemedia=emmc androidboot.storagemedia=emmc androidboot.mode=normal root=UUID=e104067f-7a88-4dea-9fc2-2b876ee3a6ca rootwait ro quiet console=tty1 console=ttyS2,1500000 pci=nomsi fsck.mode=force fsck.repair=yes` * Vulnerability Spectre v1: Mitigation; __user pointer sanitization * Kernel 5.10.0-odroid-arm64 / CONFIG_HZ=300 Kernel 5.10.0 is not latest 5.10.208 LTS that was released on 2024-01-15. Time CPU load %cpu %sys %usr %nice %io %irq Temp 10:15:06: 1800MHz 3.54 14% 1% 11% 0% 0% 0% 53.8°C 10:16:06: 1800MHz 1.30 0% 0% 0% 0% 0% 0% 48.3°C 10:17:06: 1800MHz 0.47 0% 0% 0% 0% 0% 0% 46.7°C 10:18:06: 1800MHz 0.17 0% 0% 0% 0% 0% 0% 45.0°C 10:19:06: 1800MHz 0.06 0% 0% 0% 0% 0% 0% 44.4°C |
จากผลการทดสอบ เมื่อทดสอบ stress จนอุณหภูมิขึ้นไปที่ 59.4 °C ไม่มีการจำกัดความเร็วของสัญญาณนาฬิกา CPU ในห้องที่มีอุณหภูมิแวดล้อมประมาณ 29°C, ในส่วนของแบนด์วิดท์หน่วยความจำและผลลัพธ์แบบ 7-zip ทำได้ดี โดยเมื่อเปรียบเทียบผลลัพธ์ของ memcpy และ memset แล้วทำได้ใกล้เคียงกับ ODROID-N2+, ในขณะที่ประสิทธิภาพ 7-zip ของ ODROID-M1S นั้นใกล้เคียงกับ Raspberry Pi 4
การท่องเว็บ
ถึงเวลาดูประสิทธิภาพการท่องเว็บ โดยเราจะใช้ Speedometer 2.0 เพื่อตรวจสอบประสิทธิภาพในแต่ละเว็บบราวเซอร์
- Chromium
ผลการทดสอบจาก Speedometer 2.0 ให้ค่าที่ค่อนข้างดีใกล้เคียงกับผลการทดสอบบนบอร์ด Raspberry Pi4 โดยค่าจาก Chromium ได้คะแนนที่สูงกว่า Firefox อยู่ประมาณ 30%
- Firefox
ผลการทดสอบจาก Speedometer 2.0 ให้ค่าที่ค่อนข้างดีใกล้เคียงกับผลการทดสอบบนบอร์ด Raspberry Pi4 โดยค่าจาก Firefox น้อยกว่าจาก Chromium เป็นสัดส่วนราว ๆ 70%
ทดสอบกราฟฟิค
- Glmark2
เราทดสอบด้วย glmark2-es2-wayland โดยใช้ผ่านจอ ODROID-Vu8S จอภาพขนาด 8″ ของ ODROID เพื่อให้ได้ผลการสอบที่เหมือนกันการใช้งานจริง
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 |
odroid@gnome-desktop:~$ glmark2-es2-wayland ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-G52 GL_VERSION: OpenGL ES 3.2 v1.r25p0-01eac0.9771aca0686ac609bad539142d5c7fce ======================================================= [build] use-vbo=false:FPS: 442 FrameTime: 2.262 ms [build] use-vbo=true:FPS: 628 FrameTime: 1.592 ms [texture] texture-filter=nearest: FPS: 692 FrameTime: 1.445 ms [texture] texture-filter=linear: FPS: 690 FrameTime: 1.449 ms [texture] texture-filter=mipmap: FPS: 708 FrameTime: 1.412 ms [shading] shading=gouraud: FPS: 467 FrameTime: 2.141 ms [shading] shading=blinn-phong-inf: FPS: 472 FrameTime: 2.119 ms [shading] shading=phong: FPS: 427 FrameTime: 2.342 ms [shading] shading=cel: FPS: 421 FrameTime: 2.375 ms [bump] bump-render=high-poly: FPS: 231 FrameTime: 4.329 ms [bump] bump-render=normals: FPS: 772 FrameTime: 1.295 ms [bump] bump-render=height: FPS: 730 FrameTime: 1.370 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 442 FrameTime: 2.262 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 177 FrameTime: 5.650 ms [pulsar] light=false:quads=5:texture=false: FPS: 692 FrameTime: 1.445 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 205 FrameTime: 4.878 ms [desktop] effect=shadow:windows=4: FPS: 418 FrameTime: 2.392 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 57 FrameTime: 17.544 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 57 FrameTime: 17.544 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 57 FrameTime: 17.544 ms [ideas] speed=duration: FPS: 190 FrameTime: 5.263 ms [jellyfish] <default>: FPS: 370 FrameTime: 2.703 ms [terrain] <default>: FPS: 26 FrameTime: 38.462 ms [shadow] <default>: FPS: 228 FrameTime: 4.386 ms [refract] <default>: FPS: 58 FrameTime: 17.241 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 657 FrameTime: 1.522 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 583 FrameTime: 1.715 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 600 FrameTime: 1.667 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 888 FrameTime: 1.126 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 883 FrameTime: 1.133 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 1064 FrameTime: 0.940 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 1059 FrameTime: 0.944 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 999 FrameTime: 1.001 ms ======================================================= glmark2 Score: 496 ======================================================= |
ซึ่งผลลัพธ์ที่ได้คือ 496 ต่ำกว่า Pi 4 อยู่เล็กน้อย และต่ำมากเมื่อเทียบกับPi 5 ที่ทำไปได้ที่ 2036
- WebGL Aquarium demo
การทดสอบ WebGL Aquarium บน Chromium และ Firefox ค่อนข้างน่าผิดหวังจากสาเหตุที่ Firefox ที่ติดตั้งมาใน official image ไม่สนับสนุน WebGL และ Chromium ที่ติดตั้งเพิ่มไม่สนับสนุนการเร่งประสิทธิภาพด้วยฮาร์ดแวร์ เลยให้ค่า frame rate ที่ต่ำมาก ซึ่งตรงนี้ทาง ODROID น่าจะมีการปรับใน image เวอร์ชั่นใหม่ให้รองรับ GPU บนเว็บเบราเซอร์
การทดสอบเล่น YouTube และวิดีโอ
ในการทดสอบเล่นคลิปวิดีโอที่ความละเอียด 4K ของ Youtube พบว่าการเล่นวิดีโอทำได้ไม่ดี มีการกระตุกตลอดเวลา เมื่อเปิดดูค่าสถิติจะพบว่ามีค่า frame drop เกิน 50% ซึ่งน่าจะเป็นผลจากการที่ไม่รองรับ hardware acceleration บนเว็บเบราเซอร์
จากนั้นจึงทำการลดความละเอียดของวิดีโอที่เล่นลงมาที่ความละเอียด 1080p ก็ยังพบปัญหาการเล่นไฟล์ที่กระตุกตลอดเวลา
และสุดท้ายที่ความละเอียดของวิดีโอที่ 720p การเล่นวิดีโอทำได้ดีไม่มีการกระตุกขณะเล่นไฟล์ให้เห็น ซึ่งได้ข้อสรุปว่าการใช้ CPU ถอดรหัสน่าจะทำได้ที่ความละเอียดสูงสุดที่ 720p
ส่วนการทดสอบเล่นวิดีโอนั้นใช้โปรแกรม totem ที่ติดตั้งมาพร้อมกับ official image ในการทดสอบเราต้องทำการติดตั้ง Rockchip MPP บน Gstreamer เพิ่มเพื่อให้รองรับ Codec H265
1 |
sudo apt install librga2 librockchip-mpp1 gstreamer1.0-rockchip1 gstreamer1.0-plugins-bad gstreamer1.0-tools |
1 2 3 4 5 6 7 |
odroid@gnome-desktop:~$ gst-inspect-1.0 |grep Rockchip rockchipmpp: mpph264enc: Rockchip Mpp H264 Encoder rockchipmpp: mpph265enc: Rockchip Mpp H265 Encoder rockchipmpp: mppvp8enc: Rockchip Mpp VP8 Encoder rockchipmpp: mppjpegenc: Rockchip Mpp JPEG Encoder rockchipmpp: mppvideodec: Rockchip's MPP video decoder rockchipmpp: mppjpegdec: Rockchip's MPP JPEG image decoder |
โดยทดสอบเล่นไฟล์วิดีโอ H.265 ความละเอียด 4K ที่เฟรมเรต 30fps การทดสอบเล่นไฟล์บนคอมพิวเตอร์ ทำได้ปกติ แต่บนบอร์ด ODROID-M1S พบกับการกระตุกได้อย่างชัดเจน
ซึ่งผลการเล่นวิดีโอสามารถดูได้คลิปวิดีโอด้านบน โดยจะพบว่ามี frame drop อยู่เลยส่งผลให้การเล่นกลับกระตุก โดยเมื่อใช้คำสั่ง htop เพื่อดูการทำงานของ CPU ก็มีการประมวลผลของ CPU ใช้งานไปแค่ 1 core เท่านั้น การถอดรหัสทั้งบนน่าจะทำบน GPU
จากนั้นทดสอบอีกครั้งเดียวด้วยโปรแกรม GStreamer โดยใช้คำสั่ง โดยจาก log file ก็พบว่ามีปัญหาการเล่นกลับเช่นเดียวกัน ซึ่งน่าแปลกเพราะตามคุณสมบัติแล้ว Rk3566 สามารถเล่นไฟล์ H.265 ที่ความละเอียดได้ถึง 4K ที่ frame rate 60fps
ซึ่งผลลัพธ์น่าแปลกใจเราเลยทำการติดต่อไปยัง HardKernel ถึงผลการทดสอบที่น่าแปลกใจ ก็ได้รับการแนะนำจากทาง HardKernel จนสามารถทดสอบได้ “ถ้าเราทำการทดสอบผ่านหน้าจอ HDMI” โดยการทดสอบผ่านหน้าจอ MIPI สามารถเล่นไฟล์ H.265 ได้ลื่นไหล โดยขั้นตอนทำการตรวจสอบ display plane ทั้งหมดของเรา ดูว่ามี plane id = 115 หรือไม่
1 2 3 4 5 6 7 8 |
odroid@gnome-desktop:~$ sudo cat /sys/kernel/debug/dri/0/state | grep 'plane\[' [sudo] password for odroid: plane[57]: Smart1-win0 plane[79]: Smart0-win0 plane[101]: Esmart1-win0 plane[115]: Esmart0-win0 plane[129]: Cluster0-win0 plane[143]: Cluster1-win0 |
ขั้นตอนที่ต้องทำเพิ่มคือการทำการระบุ plane id = 115 เพิ่มใน parameter เพื่อให้เล่นไฟล์ออกที่ plane Esmart0-win0
1 2 3 4 5 6 7 8 9 10 |
odroid@gnome-desktop:~$ gst-launch-1.0 filesrc location=Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 ! qtdemux ! h265parse ! mppvideodec ! rkximagesink plane-id=115 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "pipeline0". Execution ended after 0:00:20.001128088 Setting pipeline to NULL ... Freeing pipeline ... |
ยังพบปัญหาอยู่เล็กน้อยคือคือ Video layer แสดงผลในแนวตั้งและยังไม่สามารถหมุนได้ ซึ่งส่วนนี้ HardKernel กำลังทำการตรวจสอบเพื่อปรับปรุงให้ดีขึ้น
ผลลัพธ์การเล่นไฟล์วิดีโอผ่านจอ MIPI
ผลลัพธ์การเล่นไฟล์วิดีโอผ่านจอ HDMI
การทดสอบประสิทธิภาพของ eMMC microSD storage และ NVMe SSD
เราทำการทดสอบด้วยโปรแกรม IOZONE3 เพื่อทดสอบความเร็วอ่านเขียนของ storage แต่ละตัวกัน โดยจะมีการใช้พารามิเตอร์ -i เพื่อให้ทำการอ่านค่าจากดิสก์โดยตรง ไม่ต้องอ่านจาก cache
- eMMC
1 2 3 4 5 6 7 8 9 10 11 12 13 |
odroid@gnome-desktop:~$ iozone -e -I -a -s 512M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 4 25659 35431 40120 39880 26014 34370 524288 16 63723 77055 87397 86320 46409 72131 524288 512 126298 127758 140568 140514 136658 123703 524288 1024 130849 131660 150881 150899 146499 130203 524288 16384 143485 141761 174894 175345 174619 141784 |
ค่าความเร็วในการอ่านอยู่ที่ประมาณ 174 MB/s และความเร็วในการเขียนอยู่ที่ 141 MB/s ซึ่งความเร็วถือว่าอยู่ในเกณฑ์ของ eMMC 5.1
- SD card
1 2 3 4 5 6 7 8 9 10 11 12 13 |
odroid@gnome-desktop:/media/sdcard$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 4001 4148 11369 11365 11348 2598 102400 16 7933 8788 27763 27776 27739 6048 102400 512 19339 20857 59121 59295 59272 18864 102400 1024 21383 20480 60488 60593 60600 18375 102400 16384 22036 22220 67492 67649 67647 19187 |
โดย Micro SD card ที่ใช้ทดสอบเป็น Sandisk Ultra 32GB Class 10 ค่าความเร็วในการอ่านอยู่ที่ประมาณ 67 MB/s และความเร็วในการเขียนอยู่ที่ 19 MB/s ซึ่งความเร็วถือว่าอยู่ในเกณฑ์ที่ดีในมาตรฐาน Class 10
- NVMe SSD
1 2 3 4 5 6 7 8 9 10 11 12 13 |
odroid@gnome-desktop:/media/nvme$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 42604 72594 67778 68046 45038 71205 102400 16 122454 176403 158488 159796 120390 172478 102400 512 358798 368993 348561 349538 336942 368715 102400 1024 375695 381881 325273 343442 343842 381611 102400 16384 402410 404107 385306 386161 389643 402360 |
โดย NVMe ที่ใช้ทดสอบเป็น WD_BLACK SN770 NVMe™ SSD ค่าความเร็วในการอ่านอยู่ที่ประมาณ 389MB/s และความเร็วในการเขียนอยู่ที่ 402 MB/s โดยที่ ODROID-M1S ใช้ 1-lane PCIe 2.1 ซึ่งความเร็วที่ได้ใกล้เคียงกับที่ทดสอบความเร็ว USB3 บน Raspberry Pi 5
ทดสอบประสิทธิภาพของ LAN และ Wi-Fi
ในการทดสอบประสิทธิภาพของเครือข่ายเราจะทำการทดสอบความเร็วของ LAN และ Wi-Fi โดยการทดสอบด้วยโปรแกรม iperf3 ว่าจะได้ความเร็วตรงกับที่แจ้งไว้ที่ 1Gbหรือไม่
- iperf3 บน ETH0
จากคุณสมบัติของบอร์ดที่แจ้งว่า ethernet port เป็น gigabit เมื่อเราทดสอบที่ port ETH0 ก็พบว่าความเร็วในการส่งข้อมูลทำได้ที่ 0.94 Gbits ต่อวินาที เป็นความเร็วที่ทำได้ดี โดยตอนทดสอบได้ทำการเชื่อมต่อระหว่างเครื่อง server และ client ของ iperf3 ผ่าน router ที่แถมมากับอินเตอร์เน็ตของ 3BB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
odroid@gnome-desktop:~$ iperf3 -c 192.168.1.162 -f g Connecting to host 192.168.1.162, port 5201 [ 5] local 192.168.1.26 port 44022 connected to 192.168.1.162 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 0.96 Gbits/sec 0 390 KBytes [ 5] 1.00-2.00 sec 113 MBytes 0.95 Gbits/sec 0 390 KBytes [ 5] 2.00-3.00 sec 112 MBytes 0.94 Gbits/sec 0 390 KBytes [ 5] 3.00-4.00 sec 112 MBytes 0.94 Gbits/sec 0 390 KBytes [ 5] 4.00-5.00 sec 113 MBytes 0.94 Gbits/sec 0 390 KBytes [ 5] 5.00-6.00 sec 112 MBytes 0.94 Gbits/sec 0 390 KBytes [ 5] 6.00-7.00 sec 113 MBytes 0.95 Gbits/sec 0 390 KBytes [ 5] 7.00-8.00 sec 113 MBytes 0.94 Gbits/sec 0 390 KBytes [ 5] 8.00-9.00 sec 112 MBytes 0.94 Gbits/sec 0 390 KBytes [ 5] 9.00-10.00 sec 112 MBytes 0.94 Gbits/sec 0 390 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 0.94 Gbits/sec 0 sender [ 5] 0.00-10.04 sec 1.10 GBytes 0.94 Gbits/sec receiver iperf Done. |
- iperf3 บน WLAN0
ในการทดสอบความเร็วของ Wi-Fi นั้น เราใช้ USB Dongle 5BK ของ hardkernel เอง เราทำทดสอบโดยใช้เน็ตเวิร์ค 5GHz ของ 3BB router ตัวเดิม ซึ่งความเร็วในการรับส่งข้อมูลเฉลี่ยนอยู่ที่ 223 Mbps ก็ถือว่าเป็นไปตามคุณสมบัติที่แสดงในหน้าผลิตภัณฑ์ของ WiFi Module 5BK
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
odroid@gnome-desktop:~$ iperf3 -c 192.168.1.162 -f m Connecting to host 192.168.1.162, port 5201 [ 5] local 192.168.1.27 port 35092 connected to 192.168.1.162 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 27.8 MBytes 233 Mbits/sec 0 1.04 MBytes [ 5] 1.00-2.00 sec 26.2 MBytes 220 Mbits/sec 0 1.34 MBytes [ 5] 2.00-3.00 sec 26.2 MBytes 220 Mbits/sec 0 1.66 MBytes [ 5] 3.00-4.00 sec 27.5 MBytes 231 Mbits/sec 0 1.66 MBytes [ 5] 4.00-5.00 sec 27.5 MBytes 231 Mbits/sec 0 1.76 MBytes [ 5] 5.00-6.00 sec 26.2 MBytes 220 Mbits/sec 0 1.95 MBytes [ 5] 6.00-7.00 sec 27.5 MBytes 231 Mbits/sec 0 1.95 MBytes [ 5] 7.00-8.00 sec 27.5 MBytes 231 Mbits/sec 0 1.95 MBytes [ 5] 8.00-9.00 sec 26.2 MBytes 220 Mbits/sec 0 2.05 MBytes [ 5] 9.00-10.00 sec 27.5 MBytes 231 Mbits/sec 0 2.05 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 270 MBytes 227 Mbits/sec 0 sender [ 5] 0.00-10.05 sec 267 MBytes 223 Mbits/sec receiver iperf Done. |
ทดสอบการใช้พลังงาน
การทดสอบวัดการใช้พลังงานของ ODROID-M1S โดยใช้ USB power meter ได้ค่าผลลัพธ์ขณะทดสอบดังนี้
- ปิดเครื่อง – 0 วัตต์
- ไม่ได้ใช้งาน
- 1.955 วัตต์ (ต่อจอ 8″, WiFi เท่านั้น)
- วิดีโอ YouTube 4K ใน Chromium (เต็มหน้าจอ) – เฉลี่ยที่ 4.5 วัตต์
- การทดสอบแบบทำงานเต็มที่บนทั้ง 4 คอร์ –เฉลี่ยที่ 6 วัตต์
สรุป
จากการทดสอบประสิทธิภาพการทำงานของ ODROID-M1S ด้วย official image จาก Hardkernel นั้นพบว่าประสิทธิภาพการใช้งานทั่วไป ทำได้ดีทั้งความเร็วในการอ่านเขียนทั้ง SSD แบบ NVMe หรือ eMMC รวมทั้ง SD card ในส่วนของเครือข่ายผลการทดสอบก็เป็นไปได้อย่างดีได้ค่าตามที่ระบุไว้ทั้ง ethernet และ USB Wi-Fi
ในส่วนของ GPU ผลทดสอบด้วย Glmark2 ให้ค่าประสิทธิภาพที่ดีเมื่อเทียบกับผลการทดสอบบน RK3568 ที่ใช้ GPU Mali-G52 ตัวเดียวกัน และในการจัดการพลังงานก็ทำได้เป็นอย่างดี จะมีที่น่าผิดหวังก็เป็นเรื่องของเว็บเบราเซอร์ที่ไม่รองรับ WebGL และ hardware acceleration รวมถึงการไม่รองรับ codec H265 มาใน official image ต้องติดตั้ง codec เอง ซึ่งในส่วนนี้เป็นเรื่องของซอร์ฟแวร์ที่ทาง Hardkernel น่าจะจัดการแก้ไขใน release ถัดไปของ official image
สรุปโดยรวมคือผลลัพธ์ประสิทธิภาพของฮาร์ดแวร์ทำได้ดี ที่ยังขาดคือการสนับสนุนทางซอร์ฟแวร์ที่ควรมีการรองรับความสามารถของ RK3566 มาใน official image เลย
ขอขอบคุณทาง Hardkernel ที่ได้ส่งบอร์ด ODROID-M1S และอุปกรณ์เสริมมาให้รีวิว ซึ่งบอร์ด ODROID-M1S และอุปกรณ์เสริมสามารถซื้อได้ดังนี้
- รุ่นหน่วยความจำ 4GB และพื้นที่เก็บข้อมูล 64 GB ราคา $49(~1,700฿)
- รุ่นหน่วยความจำ 8GB และพื้นที่เก็บข้อมูล 64 GB ราคา$59(~2,000฿)
- หน้าจอ ODROID-Vu8S ราคา$39(~1,300฿)
- UPS โมดูล ราคา$9(~300฿)
- Wi-Fi dongle 5BK ราคา$8.90(~310฿)
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT