ทำให้ Chrome เร็วลื่นสุดๆ

หลายคนคงใช้ Google แล้วกินแรมสุดๆ เครื่งช้ามาๆ วันนี้ผมมีเทคนิคและน้อยๆมานำเสนอครับ โดยการเพิ่ม Parameter ใน Google Chrome เพื่อจัด Process การทำงาน โดยมีวิธีการ ดังนี้

  1. คลิกขวาที่ Short Cut ของ Google Chrome ของ Google Chrome เลือก Properties
  2. ตรง Target ให้เพิ่ม Parameter process-per-site เพิ่มต่อท้ายลงไป ดังรูป

ChromeProcessPerSite

หลายคนคงสงสัยกันว่า parameter ที่ผมได้เพิ่มเข้าไป มัน คือ อะไร ?เดี๋ยวผมขออธิบายเลยและกัน ใน Google Chrome มีรูปแบบการจัดการ Process เป็นแบบ Multi-Process Model คือ งานแต่ละอย่างแยกเป็น 1 Process ทั้ง Control, Tab, Extension และ Plug-in โดยสำหรับ parameter จัดการ Process เหล่านี้จะมี 3 แบบ ได้แก่

  • –process-per-tab เป็นค่า Default ของระบบเลย คือ แยก Process ของแต่ละ Tab แยกออกจากกันไปเลย(สังเกตุได้จาก Task Manager ที่มี Chrome.exe เต็มไปหมด) ซึ่งข้อดี คือ เวลา Tab ไหนมันค้าง มันจะไม่กระทบกับ Tab อื่นๆ แต่ข้อเสียของมัน คือ ใช้ RAM เยอะมาก
  • –process-per-site เป็นการบอกให้ Google Chrome จัด Process ตาม Site (Domain) เช่น debuggingsoft.com ถ้าเราเป็นอ่านอยู่ 3 Tab ระบบจะมองเป็น 1 Process ซึ่งจะกิน RAM น้อยลงครับ
  • –single-process เป็นการบอกให้ Google Chrome ไม่ต้องแยก process การทำงาน ให้รวมกันเป็นเพียง 1 Process พอ วีธีการนี้กิน RAM น้อยที่สุด แต่ถ้าโปรแกรมค้าง ทุกๆ Tab ก็จะค้างพร้อมกันหมดครับ (เสี่ยงสุดๆเลย)

เพิ่มเติม: สำหรับคนที่วาง Google Chrome ปักไว้บน Taskbar สามารถที่จะเข้าไปปรับแก้ process ของ Google Chrome ได้ผ่านทาง path นี้นะครับ

Takbar

หมายเหตุ: ถ้าอยากลองปรับแต่ง Parameter เพิ่มเติม ผมมีมากแนะนำอีก 2 ตัวนะครับ

  • –in-process-plugins เป็นการบอกให้ Google Chrome ไม่ต้องมาแยก Process ของ Plugin ให้รวมเป็น 1 process เลย  (โดย Default จะแยก Process ออกมา)
  • –in-process-webgl เป็นการบอกให้ Google Chrome ไม่ต้องแยก Process ของ WebGL โดยให้รวมกับ Process หลักไปเลย (โดย Default จะแยก Process ออกมา)
    • WebGL คือ การแสดงผลภาพกราฟฟิกสามมิติบนเว็บไซต์ ครับ โดยสามารถดูตัวอย่างได้จาก VDO นี้ครับ(เป็นส่วนหนึ่งในโปรเจคจบของผมตอนปี 4 ครับ)

[Internship@True]วันที่ 17

วันนี้ก็มาแต่เช้า เพื่อที่จะลอง Test JavaScript ของเว็บที่ได้ทำขึ้นกับ 3 browser หลักที่พี่ๆในแผนกเค้าใช้ ได้แก่

  • Internet Explorer 8 โดยจะมีตัว Developer Tools(กด F12) ในการตรวจสอบการทำงานข้อผิดพลาดของ Script ซึ่งในความเห็นของผมมันจะออกแนวคล้ายตัว Debugger ของ MS Visual Studio แต่ช้าและอืดๆมาก แต่ก็มีข้อดี เพราะสามารถที่จะปรับเปลี่ยนสภาพแวดล้อมเป็น IE เวอร์ชั่นเก่าๆได้
  • Firefox ต้องใช้ตัว Extension อย่าง Firebug(กด F12) ที่สามารถบอก Error และ Detail ได้ แต่หลังๆรู้สึกว่ามันจะดูอืดๆช้านะ แต่บอก Detail ได้ดีกว่า IE ที่จะพบแต่ Error และที่สำคัญ คือ Firebug จะช่วยเราบอก Element ต่างๆของเว็บเอาไปแก้ไขพวก css ได้อีกด้วย
  • Google Chrome โดยจะมีตัว Developer Tools(กด F12) จะมาแนวเดียวกับ Firebug คือ บอก Error ใน Script ได้ และบอก Element ต่างๆในเว็บได้จ้า แต่ลื่นปรื้ดด

ส่วนแต่ละคนจะใช้ค่ายไหนนั้น ก็ต้องมาศึกษาข้อมูลเพิ่มเติมของ Browser, Tools ที่ช่วย และที่สำคัญก็ คือ document ของแต่ละภาษาด้วย ^__^

เครื่องมือที่ช่วยในการพัฒนา ตรวจสอบใน Internet Explorer
เครื่องมือที่ช่วยในการพัฒนา ตรวจสอบใน Internet Explorer
Firebug เครื่องมือที่ช่วยในการพัฒนา ตรวจสอบใน Firefox
Firebug เครื่องมือที่ช่วยในการพัฒนา ตรวจสอบใน Firefox
เครื่องมือที่ช่วยในการพัฒนา ตรวจสอบใน Google Chrome
เครื่องมือที่ช่วยในการพัฒนา ตรวจสอบใน Google Chrome

ปัญหาที่พบในการทำงานวันนี้

  • ปัญหา: เมื่อรันเว็บใน IE และ Firefox จะไม่สามารถที่จะดึงค่าวันที่ออกมาใช้ได้ จะได้เป็นค่า Nan/Nan/Nan ตลอด
    สาเหตุ: เมื่อไปอ่านในตัว Document ของทาง ๅExt-js 4.1 แล้วจะพบว่าฟังค์ชั่นที่ใช้ในการจัดรูปแบบวันที่ Ext.util.Format.date จะรับข้อมูลวันที่แบบเต็ม คือ มีวัน/เดือน/ปี และเวลาด้วย

    objs['startMonth'] = Ext.util.Format.date(ตัวแปรวันที่จะแปลง,รูปแบบวันที่)

    วิธีแก้: ลบบรรทัดที่ทำการตัดข้อมูลเวลาออกไป ให้เหลือเพียงวันที่ ซึ่งก็คือ บรรทัดนี้

    tmp1=tmp.getFullYear()+ '-' +(tmp.getMonth()+1)+'-'+tmp.getDate()

จบการทำงานในวันนี้ไปด้วยดี และก็รีบไปกินข้าวหน้าเป็ด+กินยาที่ Terminal 21