STRESS TEST
PART 1 — INTRODUCTION
1.1 Apa itu Stress Test pada Smartphone?
Stress test = menjalankan beban sintetis (CPU/GPU/IO) secara berulang dan berkepanjangan untuk memaksa perangkat bekerja pada batasnya.
Tujuan utama:
-
Mengukur sustained performance
-
Melihat thermal behaviour
-
Mengetahui seberapa cepat perangkat panas
-
Mengamati kapan thermal throttling terjadi
-
Menguji stabilitas di beban panjang
Hasil umumnya berupa grafik performa vs waktu, bukan hanya 1 skor.
1.2 Tipe Stress Test Umum & Mekanismenya
A. CPU Stress / Throttling Test
Beban:
-
Loop integer & floating point
-
GIPS, IPC, trigonometrik, operasi FP
Contoh app: CPU Throttling Test
B. GPU / Graphics Stress Test
Beban:
-
Rendering 3D berulang
-
PBR shading, lighting loops, fragment shader
Contoh app: 3DMark Wild Life, GFXBench Long-Term
C. Battery / Power Drain Stress
Beban:
-
Simulasi aktivitas real (video decode, browsing, HTML rendering)
-
Memantau drop baterai & konsumsi daya
Contoh: GFXBench Battery Test, AnTuTu Battery
D. System-Level Stress (CPU+GPU+IO)
Beban campuran untuk meniru game dan multitasking.
Contoh: AnTuTu, PCMark
1.3 Contoh Aplikasi & Keterangan
-
CPU Throttling Test
Fokus CPU, durasi 20 menit, keluaran GIPS dan grafik performa. -
3DMark (Wild Life Stress Test)
20 menit GPU looping, stability score, grafik FPS per loop. -
GFXBench
Long-run test, battery test, FPS per frame. -
DevCheck (Pro)
Monitoring overlay: suhu, frekuensi, clock.
Bukan stress engine, tetapi pelengkap. -
AIDA64 Mobile
Monitoring sensor.
Versi Android tidak punya stress loop penuh.
1.4 Metrik yang Keluar & Perlu Dicatat
-
FPS / frame time (GPU)
-
Stability % (3DMark)
-
GIPS / ops (CPU Throttling Test)
-
Suhu CPU/GPU/Battery
-
Clock speeds (indikasi throttling)
-
Battery %, tegangan, thermal shutdown
1.5 Cara Menjalankan Stress Test Secara Praktis
-
Instal monitoring (DevCheck/AIDA64/Phone Temp Monitor).
-
Pilih stress app (CPU/GPU).
-
Sebelum run:
-
Nonaktifkan battery saver
-
Pastikan baterai > 50%
-
Jangan testing dalam saku
-
-
Jalankan monitoring → jalankan stress test → biarkan 20 menit.
-
Ambil screenshot, log, CSV.
-
Analisis grafik performa vs waktu, tanda throttling, ΔT/Δt, percepatan panas.
1.6 Risiko & Pencegahan
-
Perangkat dapat sangat panas → kurangi durasi bila suhu > 50–55°C
-
Jangan di tempat tanpa airflow
-
Jangan sambil charging kecuali untuk uji khusus
-
Lakukan beberapa run untuk averaging
1.7 Opsi Bantuan Lanjutan
-
Script ADB untuk logging suhu tiap detik
-
Panduan run 3DMark/GFXBench lengkap
-
Checklist aman & konfigurasi rekomendasi
-
Template Excel untuk ΔT/Δt & acceleration
PART 2
WORKLOAD TO BE TESTED (“MATERIAL”)
Berikut daftar “material” atau beban (workload) nyata yang digunakan stress test untuk membuat HP panas dan memicu throttling.
2.1 CPU Workload
A. Integer loops
Digunakan pada CPU Throttling Test / AnTuTu CPU.
Contoh:
-
x = x * 13 % 97 -
Hashing ringan
-
XOR loops
B. Floating Point Operations (FLOPs)
-
sin(), cos(), tan()
-
sqrt(), log()
-
FP32/FP16 pipeline
C. Matrix Math
-
Multiply-add loops
-
4×4 dense matrix multiply
D. Multi-thread parallelism
-
Mengaktifkan semua core big+little 100%
➡️ Efek: Panas cepat, ΔT/Δt tinggi, memicu throttling.
2.2 GPU Workload
A. High-poly 3D rendering
-
Lighting loops
-
PBR
-
Vertex pipeline tekanan tinggi
B. Fragment shader overload
-
shader complex seperti game AAA mobile
C. Off-screen rendering
-
GFXBench 1080p offscreen → GPU 100%
D. Continuous high-FPS loop
-
20–30 menit nonstop
2.3 Battery / System Workload
A. Mixed workload
-
Browsing
-
Video decode/encode
-
DB I/O minimal
-
File read/write
B. Constant brightness
-
50–100% → stres baterai
C. Stabilized drain
-
Mengukur daya rata-rata 20 menit+
2.4 Thermal-Specific Synthetic Workload
A. Infinite heat loops
x = x * 1.001 + sqrt(x) - log(x);
B. Kernel-level heat (root only)
-
Lock max frequency
-
Disable DVFS (bahaya)
2.5 Light Workload (Monitoring Apps)
-
Sensor polling
-
CPU/GPU load reading
-
Frequency sampling
-
Used by DevCheck / AIDA64
2.6 Inti Workload berdasarkan jenis uji
-
CPU test = matematika berat
-
GPU test = grafis 3D berat
-
System test = campuran
➡️ Semua untuk menghasilkan ΔT besar, ΔT/Δt tinggi, dan memaksa throttling.
2.7 Contoh Material/Code CPU (Nyata)
Integer ALU Loop
volatile long x = 1;
while (1) {
x = x * 13;
x ^= 0x5A5A5A5A;
x = (x << 3) | (x >> 2);
x = x % 999983;
}
Floating Point Loop
volatile double a = 1.0, b = 1.000001;
while (1) {
a = a * b;
a = a + sin(a);
a = sqrt(a * b + 1.2345);
}
4×4 Matrix Loop
for (i,j,k) C[i][j] += A[i][k]*B[k][j];
Multithread
Semua core aktif bersamaan.
2.8 Contoh Material/Code GPU (Nyata)
Heat Fragment Shader
(GLSL disalin utuh dari kontenmu)
precision highp float;
uniform float time;
uniform vec2 resolution;
void main() {
vec2 uv = gl_FragCoord.xy / resolution.xy;
float x = uv.x * sin(time) * 50.0;
float y = uv.y * cos(time) * 40.0;
float r = sin(x) * cos(y);
float g = sin(r * 3.14159) * sin(x+y);
float b = sin(r*r + x*x);
gl_FragColor = vec4(r, g, b, 1.0);
}
Vertex Shader Stress
Kode tetap utuh.
Off-screen Render Loop
Loop draw-calls 100–500 objek.
2.9 CPU+GPU Combined Workload
Mirip game berat (Genshin Impact level).
physics update loops
+
heavy GPU scene rendering
2.10 Opsi APK Panas
-
CPU FP + integer
-
GPU fragment shader
-
Offscreen rendering
-
Logging suhu
PART 3 — CUSTOM BUILT APP
3.1 Pertanyaan Utama
“Mau saya buatkan APK stress test sederhana atau script ADB untuk menjalankan test CPU/GPU dari PC?”
3.2 Opsi Pilihan
1) APK Stress Test CPU
-
Integer + FP loops
-
Multithread (all cores)
-
Log suhu per detik
-
Hitung ΔT/Δt otomatis
2) APK Stress Test GPU
-
Heavy fragment shader
-
Offscreen rendering
-
FPS monitoring
-
Auto thermal logging
3) APK Stress Test Gabungan CPU + GPU
-
Paling panas
-
Mirip game berat
-
Log suhu + FPS + load
-
Hitung ΔT/Δt & Δ(rate)/Δt
4) Script ADB (tanpa APK)
-
Jalan dari PC
-
Baca
/sys/class/thermal/*+dumpsys thermalservice -
Simpan CSV
-
Hitung ΔT/Δt otomatis
5) Full Project Source Code
-
Java/Kotlin + GLSL shader
-
Bisa kamu build sendiri
Comments
Post a Comment