ทำไมการคัดลอกภาพขนาดใหญ่ไปยังคลิปบอร์ดทำให้คอมพิวเตอร์หยุดชะงัก?
บางครั้งสิ่งที่แปลกจริง ๆ เกิดขึ้นเมื่อใช้คอมพิวเตอร์ของเราที่ไม่มีเหตุผลเลย ... เช่นการคัดลอกรูปภาพง่าย ๆ ไปยังคลิปบอร์ดและคอมพิวเตอร์ค้างเพราะมันเกิดขึ้น ภาพเป็นภาพใช่มั้ย โพสต์ SuperUser วันนี้มีคำตอบให้กับผู้อ่านที่สับสน.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
ภาพต้นฉบับที่ได้รับความอนุเคราะห์จาก Wikimedia.
คำถาม
ผู้อ่าน SuperUser Joban Dhillon ต้องการทราบว่าทำไมการคัดลอกภาพไปยังคลิปบอร์ดบนคอมพิวเตอร์ของเขาค้างไว้:
ฉันล้อเล่นกับภาพแผนที่ความสูงและพบภาพนี้:
(http://upload.wikimedia.org/wikipedia/commons/1/15/Srtm_ramp2.world.21600×10800.jpg)
ภาพมีขนาด 21,600 * 10,800 พิกเซล เมื่อฉันคลิกขวาและเลือก“ คัดลอกภาพ” ในเบราว์เซอร์ของฉัน (ฉันใช้ Google Chrome) มันจะทำให้คอมพิวเตอร์ทำงานช้าลงจนกว่าจะค้าง หลังจากนั้นฉันต้องรีสตาร์ท ฉันอยากรู้ว่าทำไมสิ่งนี้เกิดขึ้น ฉันคิดว่ามันเป็นขนาดของรูปภาพแม้ว่าจะมีขนาดประมาณ 6 MB เท่านั้นเมื่อบันทึกลงในคอมพิวเตอร์ของฉัน ฉันใช้ Windows 8.1 เช่นกัน
ทำไมรูปแบบง่าย ๆ จะทำให้คอมพิวเตอร์ของ Joban หยุดทำงานหลังจากคัดลอกไปยังคลิปบอร์ด?
คำตอบ
ผู้สนับสนุน SuperUser Mokubai มีคำตอบสำหรับเรา:
“ คัดลอกภาพ” กำลังคัดลอกข้อมูลภาพดิบแทนที่จะเป็นไฟล์ภาพไปยังคลิปบอร์ดของคุณ.
ข้อมูลภาพดิบจะเป็น 21,600 x 10,800 x 3 (ภาพ 24 บิต) = 699,840,000 ไบต์ของข้อมูล นั่นคือข้อมูลประมาณ 700 MB ที่เบราว์เซอร์ของคุณพยายามคัดลอกไปยังคลิปบอร์ด.
JPEG บีบอัดข้อมูลดิบโดยใช้อัลกอริทึมแบบ lossy และสามารถบีบอัดข้อมูลได้ดี ดังนั้น การบีบอัด ไฟล์นี้มีขนาดเพียง 6 MB.
สาเหตุที่ทำให้คอมพิวเตอร์ของคุณช้าลงก็คืออาจเป็นเพราะหน่วยความจำของคุณเต็มไปด้วยข้อมูลรูปภาพอย่างน้อย 700 MB ที่เบราว์เซอร์ของคุณใช้เพื่อแสดงภาพอีก 700 MB (รวมถึงคลิปบอร์ดที่เก็บค่าใช้จ่าย) บนคลิปบอร์ดและกำลังการประมวลผลที่ไม่สำคัญในการแปลงภาพเป็นรูปแบบที่สามารถเก็บไว้ในคลิปบอร์ด.
มีโอกาสเกิดขึ้นได้หากคุณมี RAM จริงน้อยกว่า 4 GB สำเนาข้อมูลภาพเหล่านั้นจะบังคับให้คอมพิวเตอร์ของคุณหน้าหน่วยความจำออกไปยังไฟล์ swap เพื่อพยายามเติมเต็มความต้องการของหน่วยความจำทั้งสองในเวลาเดียวกัน สิ่งนี้จะทำให้โปรแกรมและการเข้าถึงดิสก์ช้าลงเมื่อพวกเขาใช้ดิสก์และลองใช้ข้อมูลที่อาจถูกทำเพจเอาต์ออกไป.
กล่าวโดยย่อ: อย่าใช้คลิปบอร์ดสำหรับภาพขนาดใหญ่เว้นแต่คุณจะมีหน่วยความจำจำนวนมากและมีเวลาว่าง.
ชอบกราฟสวยไหม? นี่คือสิ่งที่เกิดขึ้นเมื่อฉันโหลดภาพนั้นใน Google Chrome แล้วคัดลอกไปยังคลิปบอร์ดบนเครื่องของฉันด้วย RAM ขนาด 12 GB:
มันเริ่มต้นที่จุดล่างโดยใช้ RAM 2.8 GB โหลดภาพเจาะได้สูงสุด 3.6 GB (ประมาณ 700 MB) จากนั้นคัดลอกไปยังคลิปบอร์ดที่แหลมขึ้นที่ 6.3 GB ของ RAM ก่อนที่จะปักหลักลงที่ 4.5-ish คุณคาดว่าจะเห็นโปรแกรมและภาพขนาดใหญ่สองชุด.
นั่นคือข้อมูลรูปภาพขนาด 3.7 GB ที่กำลังทำงานอยู่ที่จุดสูงสุดซึ่งอาจเป็นภาพเริ่มต้นปริมาณที่สงวนไว้สำหรับคลิปบอร์ดและอาจเป็นบัฟเฟอร์การแปลงสองเท่า เพียงพอที่จะนำเครื่องที่มี RAM น้อยกว่า 8 GB มาที่หัวเข่า.
น่าแปลกที่การทำสิ่งเดียวกันใน Firefox เพียงแค่คัดลอกภาพ ไฟล์ มากกว่าภาพ ข้อมูล (ไม่มีไฟกระชากหน่วยความจำที่น่ากลัว).
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.