รูปภาพขนาดใหญ่ไปยังคลิปบอร์ดหยุดการทำงานของคอมพิวเตอร์


16

ดังนั้นฉันจึงล้อเล่นกับภาพแผนที่ความสูงและพบภาพนี้:

http://upload.wikimedia.org/wikipedia/commons/1/15/Srtm_ramp2.world.21600x10800.jpg

ภาพนี้คือ 21600x10800 เมื่อฉันคลิกขวา "คัดลอกภาพ" จากเบราว์เซอร์ของฉัน (ฉันใช้โครเมียม) มันจะทำให้คอมพิวเตอร์ทำงานช้าลงจนกว่าจะค้าง หลังจากนั้นฉันต้องรีสตาร์ท ฉันอยากรู้ว่าทำไมสิ่งนี้เกิดขึ้นฉันคิดว่ามันเป็นขนาดของภาพทั้งหมดเพียงประมาณ 6mb เมื่อบันทึก

ฉันใช้ Windows 8.1 เช่นกัน

คำตอบ:


21

'คัดลอกรูปภาพ' กำลังคัดลอกข้อมูลรูปภาพดิบแทนที่จะเป็นไฟล์รูปภาพไปยังคลิปบอร์ดของคุณ

ข้อมูลภาพดิบจะเป็น 21600 x 10800 x 3 (ภาพ 24 บิต) = 699,840,000 ไบต์ของข้อมูล นั่นคือข้อมูลประมาณ 700MB ที่เบราว์เซอร์ของคุณพยายามที่จะเจาะเข้าไปในคลิปบอร์ด

JPEG บีบอัดข้อมูลดิบโดยใช้อัลกอริธึม lossy และสามารถบีบอัดข้อมูลได้ดี ดังนั้นไฟล์บีบอัดมีขนาดเพียง 6MB

สาเหตุที่ทำให้คอมพิวเตอร์ของคุณช้าลงก็คืออาจเป็นเพราะหน่วยความจำของคุณเต็มด้วยข้อมูลภาพอย่างน้อย 700MB ที่เบราว์เซอร์ของคุณใช้เพื่อแสดงภาพอีก 700MB (พร้อมกับคลิปบอร์ดใด ๆ เหนือศีรษะ) เพื่อเก็บไว้ใน คลิปบอร์ดและกำลังการประมวลผลที่ไม่สำคัญในการแปลงภาพให้อยู่ในรูปแบบที่สามารถเก็บไว้ในคลิปบอร์ดได้

โอกาสที่ว่าถ้าคุณมี RAM จริงน้อยกว่า 4GB หรือน้อยกว่านั้นสำเนาของข้อมูลภาพจะบังคับให้คอมพิวเตอร์ของคุณหน้าหน่วยความจำออกไปยังไฟล์ swap เพื่อพยายามเติมเต็มความต้องการของหน่วยความจำทั้งสองในเวลาเดียวกัน สิ่งนี้จะทำให้โปรแกรมและการเข้าถึงดิสก์ช้าลงเมื่อพวกเขาใช้ดิสก์และพยายามใช้ข้อมูลที่อาจถูกเพจเอาต์ออกไป

กล่าวโดยย่อ: อย่าใช้คลิปบอร์ดสำหรับภาพขนาดใหญ่เว้นแต่คุณจะมีหน่วยความจำจำนวนมากและมีเวลาว่าง

ชอบกราฟสวยไหม? นี่คือสิ่งที่เกิดขึ้นเมื่อฉันโหลดภาพใน Chrome แล้วคัดลอกไปยังคลิปบอร์ดบนเครื่องด้วย RAM 12GB:

ป้อนคำอธิบายรูปภาพที่นี่

มันเริ่มต้นที่จุดต่ำสุดโดยใช้ RAM 2.8GB โหลดภาพที่เจาะได้สูงสุด 3.6GB (อาจประมาณ 700MB) จากนั้นคัดลอกไปยังคลิปบอร์ดที่แหลมขึ้นที่ 6.3 GB ของ RAM ก่อนที่จะกลับลงมาที่ 4.5-ish คุณคาดหวังว่าจะได้เห็นโปรแกรมและภาพขนาดใหญ่สองชุด

นั่นคือข้อมูลรูปภาพขนาด 3.7GB ที่กำลังทำงานอยู่ที่จุดสูงสุดซึ่งอาจเป็นภาพเริ่มต้นปริมาณที่สงวนไว้สำหรับคลิปบอร์ดและอาจมีบัฟเฟอร์การแปลงสองสามตัว เพียงพอที่จะนำเครื่องที่มี RAM น้อยกว่า 8GB มาที่หัวเข่า

การทำเช่นเดียวกันกับ Firefox ก็แค่คัดลอกไฟล์รูปภาพแทนที่จะเป็นข้อมูลภาพโดยที่หน่วยความจำไม่น่ากลัว


Mokubai มีสิทธิ์ของมัน ภาพนี้จะทำให้คลิปบอร์ดของคอมพิวเตอร์ส่วนใหญ่ออกนอกลู่นอกทาง หากคุณต้องการนำภาพนั้นไปยังตำแหน่งคุณควรบันทึกหรือคลิกขวาแล้วใช้คำสั่ง "คัดลอกตำแหน่งภาพ"
TorpedoBench

ฉันมีเพื่อนทำบน Windows 7 เขารายงานว่ามีความล่าช้าเพียง 1-3 วินาที ฉันแค่ถามเขาว่าเบราว์เซอร์และแรมเท่าไหร่
Joban Dhillon

ใช่. บนเครื่องของฉันมันเกือบจะทันที แต่แล้วฉันก็มี RAM ค่อนข้างมาก หากคุณมีน้อยกว่า 8GB แล้วฉันจะไม่แปลกใจถ้าเครื่องของคุณต่อสู้
Mokubai

@Mokubai: ฉันไม่มั่นใจทั้งหมด ไม่จำเป็นต้องดาวน์โหลดไฟล์ 700 MB เพื่อรับ 700 MB ไปยังคลิปบอร์ด และอย่างที่ฉันได้ลองไฟล์นั้นมีขนาดเล็กกว่า 700MB แน่นอน
shortstheory

1
@shortstheory ไฟล์นั้นมีขนาดเพียง 7mb แต่ถูกบีบอัดสูงเนื่องจากเป็นรูปภาพ jpg ข้อมูลภาพที่แท้จริงอยู่ที่ประมาณ 700mb สิ่งที่คุณเห็นในการดาวน์โหลดขนาด 7mb เป็นการแสดงรูปภาพที่ถูกบีบอัดเพื่อให้โปรแกรมใด ๆ ที่จะดูภาพจะต้องไม่ถูกบีบอัดก่อนและเป็นข้อมูล (ไม่ใช่ตัวไฟล์) ที่วางบนคลิปบอร์ด
Mokubai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.