SiamCafe · Blog
overclock gpu notebook
บทความ

overclock gpu notebook

เผยแพร่ 28 พฤษภาคม 2569

Overclock GPU Notebook คืออะไร

การ Overclock GPU Notebook คือการเพิ่มความเร็ว clock speed ของ GPU ในโน้ตบุ๊กให้สูงกว่าค่าที่โรงงานตั้งมา เพื่อเพิ่มประสิทธิภาพในการเล่นเกม render วิดีโอ หรือทำงาน AI/ML อย่างไรก็ตาม การ overclock GPU notebook มีข้อจำกัดมากกว่า desktop เพราะ thermal throttling ระบบระบายความร้อนที่จำกัด และ power delivery ที่น้อยกว่า บทความนี้จะแนะนำวิธี overclock อย่างปลอดภัย เครื่องมือที่ใช้ และข้อควรระวัง

พื้นฐาน GPU Overclocking

# gpu_basics.py — GPU overclocking fundamentals
import json

class GPUBasics:
    CONCEPTS = {
        "core_clock": {
            "name": "Core Clock (GPU Clock)",
            "description": "ความเร็วในการประมวลผลของ GPU core (MHz)",
            "effect": "เพิ่ม → FPS สูงขึ้น, render เร็วขึ้น",
            "safe_oc": "+50 to +200 MHz (ขึ้นอยู่กับ GPU)",
        },
        "memory_clock": {
            "name": "Memory Clock (VRAM Clock)",
            "description": "ความเร็วของหน่วยความจำ GPU (MHz)",
            "effect": "เพิ่ม → bandwidth สูงขึ้น, ดีสำหรับ high-res textures",
            "safe_oc": "+100 to +500 MHz (GDDR6/GDDR6X)",
        },
        "power_limit": {
            "name": "Power Limit (TDP)",
            "description": "กำลังไฟสูงสุดที่ GPU ใช้ได้ (Watts)",
            "effect": "เพิ่ม → GPU boost สูงขึ้น, แต่ร้อนและกินไฟมากขึ้น",
            "safe_oc": "Notebook: จำกัดมาก (5-15W headroom)",
        },
        "voltage": {
            "name": "Voltage (Core Voltage)",
            "description": "แรงดันไฟที่จ่ายให้ GPU core (mV)",
            "effect": "เพิ่ม → stable OC สูงขึ้น, แต่ร้อนมากขึ้น",
            "safe_oc": "Notebook: ไม่แนะนำให้ปรับ (อันตราย)",
        },
        "thermal_throttle": {
            "name": "Thermal Throttling",
            "description": "GPU ลดความเร็วอัตโนมัติเมื่อร้อนเกินไป",
            "effect": "ทำให้ OC ไม่ได้ผลถ้าระบายความร้อนไม่ดี",
            "safe_oc": "ต้องให้ temp < 85°C (ideal < 80°C)",
        },
    }

    NOTEBOOK_VS_DESKTOP = {
        "cooling": {"notebook": "บาง จำกัด (1-2 fans)", "desktop": "หลายตัวเลือก (air, AIO, custom loop)"},
        "power": {"notebook": "จำกัด (65-200W total)", "desktop": "เพียงพอ (500-1000W PSU)"},
        "oc_headroom": {"notebook": "น้อย (+50-150 MHz)", "desktop": "มาก (+100-300 MHz)"},
        "risk": {"notebook": "สูงกว่า (ร้อน, battery)", "desktop": "ต่ำกว่า (ระบายความร้อนดี)"},
        "void_warranty": {"notebook": "อาจ void", "desktop": "ส่วนใหญ่ไม่ void"},
    }

    def show_concepts(self):
        print("=== GPU OC Concepts ===\n")
        for key, concept in self.CONCEPTS.items():
            print(f"[{concept['name']}]")
            print(f"  {concept['description']}")
            print(f"  Safe OC: {concept['safe_oc']}")
            print()

    def show_comparison(self):
        print("=== Notebook vs Desktop OC ===")
        for key, vals in self.NOTEBOOK_VS_DESKTOP.items():
            print(f"  {key:<14} NB: {vals['notebook']:<30} DT: {vals['desktop']}")

gpu = GPUBasics()
gpu.show_concepts()
gpu.show_comparison()

เครื่องมือ Overclock

# tools.py — Overclocking tools
import json

class OCTools:
    TOOLS = {
        "msi_afterburner": {
            "name": "MSI Afterburner",
            "platform": "Windows",
            "price": "ฟรี",
            "features": ["Core/Memory clock adjustment", "Fan curve control", "Voltage control", "On-screen display (OSD)", "Benchmark recording"],
            "best_for": "All-in-one OC tool (แนะนำที่สุด)",
        },
        "nvidia_inspector": {
            "name": "NVIDIA Inspector",
            "platform": "Windows (NVIDIA only)",
            "price": "ฟรี",
            "features": ["Overclock", "Power limit", "Driver-level tweaks"],
            "best_for": "Advanced NVIDIA tuning",
        },
        "gpu_z": {
            "name": "GPU-Z",
            "platform": "Windows",
            "price": "ฟรี",
            "features": ["GPU info", "Clock speeds", "Temperature", "VBIOS info"],
            "best_for": "Monitoring ดูข้อมูล GPU",
        },
        "hwinfo64": {
            "name": "HWiNFO64",
            "platform": "Windows",
            "price": "ฟรี",
            "features": ["Full system monitoring", "Temperature sensors", "Power consumption", "Logging"],
            "best_for": "Detailed hardware monitoring",
        },
        "furmark": {
            "name": "FurMark",
            "platform": "Windows",
            "price": "ฟรี",
            "features": ["GPU stress test", "Stability test", "Temperature test"],
            "best_for": "Stress test หลัง OC",
        },
    }

    BENCHMARKS = {
        "3dmark": {"name": "3DMark", "type": "Synthetic benchmark", "tests": "Time Spy, Fire Strike, Port Royal"},
        "unigine": {"name": "Unigine Heaven/Superposition", "type": "Synthetic", "tests": "GPU stress + FPS"},
        "game_bench": {"name": "Game Benchmarks", "type": "Real-world", "tests": "ใช้เกมจริง: Shadow of Tomb Raider, Cyberpunk 2077"},
    }

    def show_tools(self):
        print("=== Overclocking Tools ===\n")
        for key, tool in self.TOOLS.items():
            print(f"[{tool['name']}] {tool['price']} — {tool['best_for']}")
            print(f"  Features: {', '.join(tool['features'][:3])}")
            print()

    def show_benchmarks(self):
        print("=== Benchmark Tools ===")
        for key, bench in self.BENCHMARKS.items():
            print(f"  [{bench['name']}] {bench['type']}: {bench['tests']}")

tools = OCTools()
tools.show_tools()
tools.show_benchmarks()

ขั้นตอน Overclock GPU Notebook

# oc_guide.py — Step-by-step overclocking guide
import json

class OCGuide:
    STEPS = [
        {
            "step": "1. เตรียมตัว",
            "actions": [
                "ติดตั้ง MSI Afterburner + GPU-Z + HWiNFO64",
                "Update GPU driver เป็นเวอร์ชันล่าสุด",
                "ทำ baseline benchmark (3DMark / game FPS)",
                "จด stock clocks: Core, Memory, Temperature, Power",
                "เสียบปลั๊กชาร์จเสมอ (ห้าม OC บน battery)",
            ],
        },
        {
            "step": "2. เพิ่ม Core Clock",
            "actions": [
                "เปิด MSI Afterburner",
                "เพิ่ม Core Clock +25 MHz",
                "รัน benchmark 10 นาที",
                "ถ้า stable: เพิ่มอีก +25 MHz",
                "ถ้า crash/artifact: ลดลง 25 MHz = safe limit",
                "ทำซ้ำจนหา max stable core clock",
            ],
        },
        {
            "step": "3. เพิ่ม Memory Clock",
            "actions": [
                "เพิ่ม Memory Clock +50 MHz",
                "รัน benchmark 10 นาที",
                "สังเกต artifacts (จุดสี, เส้นแปลกๆ)",
                "ถ้า OK: เพิ่มอีก +50 MHz",
                "Memory OC มักได้มากกว่า Core (+200-500 MHz)",
            ],
        },
        {
            "step": "4. ทดสอบ Stability",
            "actions": [
                "รัน FurMark 30 นาที (stress test)",
                "ดู temperature: ต้อง < 85°C",
                "รัน 3DMark Time Spy (benchmark)",
                "เล่นเกมจริง 1-2 ชั่วโมง",
                "ถ้ามี crash/BSOD: ลด OC ลง",
            ],
        },
        {
            "step": "5. บันทึก Profile",
            "actions": [
                "MSI Afterburner: Save profile (1-5 slots)",
                "ตั้ง Apply on startup ถ้าต้องการ",
                "บันทึก settings: Core +XXX, Mem +XXX, Temp max",
            ],
        },
    ]

    def show_steps(self):
        print("=== OC Step-by-Step ===\n")
        for step in self.STEPS:
            print(f"[{step['step']}]")
            for action in step["actions"][:4]:
                print(f"  • {action}")
            print()

guide = OCGuide()
guide.show_steps()

Monitoring & Safety

# monitoring.py — GPU monitoring and safety
import json
import random

class GPUMonitoring:
    SAFE_LIMITS = {
        "temperature": {"safe": "< 80°C", "warning": "80-90°C", "danger": "> 90°C", "action": "ลด OC หรือปรับ fan curve"},
        "power": {"safe": "< TDP limit", "warning": "At TDP limit", "danger": "Power throttling", "action": "ลด power limit"},
        "hotspot": {"safe": "< 95°C", "warning": "95-100°C", "danger": "> 100°C", "action": "หยุด OC ทันที"},
    }

    PYTHON_MONITOR = """
# gpu_monitor.py — Simple GPU monitor script
import subprocess
import time
import json

def get_nvidia_stats():
    cmd = [
        'nvidia-smi',
        '--query-gpu=name, temperature.gpu, utilization.gpu, clocks.gr, clocks.mem, power.draw, power.limit',
        '--format=csv, noheader, nounits'
    ]
    result = subprocess.run(cmd, capture_output=True, text=True)
    parts = result.stdout.strip().split(', ')
    return {
        'name': parts[0],
        'temp': int(parts[1]),
        'util': int(parts[2]),
        'core_clock': int(parts[3]),
        'mem_clock': int(parts[4]),
        'power': float(parts[5]),
        'power_limit': float(parts[6]),
    }

# Monitor loop
while True:
    stats = get_nvidia_stats()
    temp_icon = '🟢' if stats['temp'] < 80 else '🟡' if stats['temp'] < 90 else '🔴'
    print(f"{temp_icon} {stats['name']} | "
          f"Temp: {stats['temp']}°C | "
          f"Core: {stats['core_clock']} MHz | "
          f"Mem: {stats['mem_clock']} MHz | "
          f"Power: {stats['power']:.0f}/{stats['power_limit']:.0f}W | "
          f"Util: {stats['util']}%")
    
    if stats['temp'] > 90:
        print("WARNING: Temperature too high! Consider reducing OC.")
    
    time.sleep(2)
"""

    def show_limits(self):
        print("=== Safe Operating Limits ===\n")
        for key, limit in self.SAFE_LIMITS.items():
            print(f"[{key}] Safe: {limit['safe']} | Warning: {limit['warning']} | Danger: {limit['danger']}")

    def show_monitor(self):
        print(f"\n=== Python GPU Monitor ===")
        print(self.PYTHON_MONITOR[:500])

    def simulate(self):
        print(f"\n=== Live GPU Stats ===")
        for i in range(3):
            temp = random.randint(65, 85)
            core = random.randint(1500, 2100)
            mem = random.randint(6000, 8000)
            power = random.randint(60, 140)
            icon = "OK" if temp < 80 else "WARN" if temp < 90 else "HOT"
            print(f"  [{icon}] Temp={temp}°C Core={core}MHz Mem={mem}MHz Power={power}W")

mon = GPUMonitoring()
mon.show_limits()
mon.show_monitor()
mon.simulate()

Undervolting (ทางเลือกที่ดีกว่า)

# undervolt.py — Undervolting as alternative
import json

class Undervolting:
    BENEFITS = {
        "lower_temp": "อุณหภูมิลดลง 5-15°C",
        "less_throttling": "Thermal throttle น้อยลง → performance คงที่",
        "more_headroom": "มี thermal headroom สำหรับ OC core clock",
        "battery_life": "Battery life ดีขึ้น 10-20%",
        "quieter": "พัดลมหมุนช้าลง → เงียบขึ้น",
        "safer": "ปลอดภัยกว่า OC (ลดไฟ ไม่ใช่เพิ่ม)",
    }

    GUIDE = """
# Undervolting Guide (MSI Afterburner)

# Method: Voltage-Frequency Curve (Ctrl+F)
# 1. เปิด MSI Afterburner → กด Ctrl+F (V/F Curve)
# 2. หา frequency ที่ต้องการ (เช่น 1800 MHz)
# 3. ลาก voltage point ลงมาที่ voltage ต่ำกว่า
#    เช่น: 1800 MHz ปกติใช้ 1000mV → ลดเป็น 900mV
# 4. Apply → Test stability
# 5. ถ้า stable: ลด voltage ลงอีก 25mV
# 6. ถ้า crash: เพิ่ม voltage ขึ้น 25mV

# Example Results:
# Stock:       1800 MHz @ 1000mV → 82°C
# Undervolted: 1800 MHz @  875mV → 72°C (same performance, -10°C!)
# OC+UV:       1900 MHz @  925mV → 78°C (faster + cooler!)
"""

    def show_benefits(self):
        print("=== Undervolting Benefits ===\n")
        for key, benefit in self.BENEFITS.items():
            print(f"  • {benefit}")

    def show_guide(self):
        print(f"\n=== Undervolting Guide ===")
        print(self.GUIDE[:500])

uv = Undervolting()
uv.show_benefits()
uv.show_guide()

FAQ - คำถามที่พบบ่อย

Q: Overclock GPU notebook เสี่ยงไหม?

A: เสี่ยงปานกลาง ถ้าทำถูกวิธี: GPU มี protection (thermal throttle, power limit) ไม่ทำให้พังทันที ข้อควรระวัง: อุณหภูมิสูง ลดอายุ GPU และ battery แนะนำ: เริ่มน้อยๆ (+25 MHz), test stability, monitor temp ทางเลือกที่ดีกว่า: Undervolting (ปลอดภัยกว่า ผลใกล้เคียง)

Q: OC GPU notebook เพิ่ม FPS ได้เท่าไหร่?

A: Core clock +100-150 MHz: เพิ่ม FPS 3-8% Memory clock +300-500 MHz: เพิ่ม FPS 2-5% รวม: ประมาณ 5-12% FPS เพิ่มขึ้น ไม่มากเท่า desktop OC (ที่ได้ 15-25%) เพราะ notebook มี thermal/power limit

Q: Warranty void ไหม?

A: ขึ้นอยู่กับผู้ผลิต ASUS ROG, MSI: มี built-in OC tools (ไม่ void) Software OC (Afterburner): ส่วนใหญ่ไม่ void (reset ได้) Hardware mod (repaste, VBIOS flash): อาจ void warranty ถ้าไม่แน่ใจ: ถามศูนย์บริการก่อน OC

Q: Undervolting กับ Overclocking อันไหนดีกว่าสำหรับ notebook?

A: Undervolting ดีกว่าสำหรับ notebook เกือบทุกกรณี ได้ performance เท่าเดิมหรือดีกว่า (ลด throttle) เย็นกว่า เงียบกว่า battery ดีกว่า ปลอดภัยกว่า ทำ Undervolt ก่อน → ถ้ายังไม่พอค่อย OC เพิ่ม