Kāpēc liela attēla kopēšana uz starpliktuvi iesaldētu datoru?
Dažreiz kaut kas tiešām dīvaini notiek, izmantojot mūsu datorus, kuriem nav nekādas jēgas ... piemēram, vienkārša attēla kopēšana starpliktuvē un dators iesaldēšanas dēļ. Attēls ir attēls, vai ne? Šodienas SuperUser ziņai ir atbilde uz neskaidru lasītāja dilemni.
Šodienas jautājumu un atbilžu sesija mums dod pieklājību no SuperUser-Stack Exchange apakšnodaļas, kas ir kopienas orientēta Q & A tīmekļa vietņu grupa.
Oriģināls attēls ar Wikimedia.
Jautājums
SuperUser lasītājs Joban Dhillon vēlas zināt, kāpēc tā kopēšana attēla starpliktuvē savā datorā sasalst:
Es sapratu ar dažiem augstuma kartes attēliem un konstatēju, ka tas ir:
(http://upload.wikimedia.org/wikipedia/commons/1/15/Srtm_ramp2.world.21600 kainos10800.jpg)
Attēls ir 21 600 * 10 800 pikseļu. Kad es ar peles labo taustiņu noklikšķināju un atlasu pārlūkprogrammā "Kopēt attēlu" (es izmantoju Google Chrome), tas palēnina manu datoru, līdz tas sasalst. Pēc tam man jāatsāk. Man ir interese par to, kāpēc tas notiek. Es pieņemu, ka tas ir attēla izmērs, lai gan tas ir tikai aptuveni 6 MB, kad tas tiek saglabāts datorā. Es izmantoju arī Windows 8.1
Kāpēc vienkāršs attēls iesaldētu Joban datoru pēc tam, kad tas ir nokopēts starpliktuvē?
Atbilde
SuperUser ieguldītājam Mokubai ir atbilde:
“Kopēt attēlu” kopē neapstrādātus attēla datus, nevis pašus attēla failus uz starpliktuvi.
Neapstrādāta attēla dati būs 21 600 x 10 800 x 3 (24 bitu attēls) = 699 840 000 datu baiti. Tas ir aptuveni 700 MB datu, ko pārlūks mēģina kopēt starpliktuvē.
JPEG saspiež neapstrādātus datus, izmantojot zaudējumu algoritmu un var iegūt diezgan labu saspiešanu. Līdz ar to saspiests fails ir tikai 6 MB.
Iemesls, kāpēc tas padara jūsu datoru lēnu, ir tas, ka, iespējams, tiek aizpildīta jūsu atmiņa ar vismaz 700 MB attēla datiem, kurus lieto jūsu pārlūkprogramma, lai parādītu attēlu, vēl 700 MB (kopā ar jebkuru galvu, kas rodas starpliktuvē), lai saglabātu tā ir starpliktuvē, un nenozīmīgs apstrādes jaudas apjoms, lai pārveidotu attēlu formātā, ko var saglabāt starpliktuvē.
Iespējams, ka, ja jums ir mazāk par 4 GB fiziskās RAM, tad šīs attēlu datu kopijas liek datoram ievietot atmiņu uz mijmaiņas failu, cenšoties vienlaikus izpildīt abas atmiņas prasības. Tas radīs programmas un diska piekļuvi lēnām, jo tās izmanto disku un mēģinās izmantot datus, kas varētu būt tieši izsūtīti.
Īsumā: nelietojiet starpliktuvi milzīgiem attēliem, ja vien jums nav daudz atmiņas un mazliet laika, lai to ietaupītu.
Tāpat kā diezgan grafiki? Tas notiek, kad šo attēlu ielādēšu pārlūkprogrammā Google Chrome, pēc tam kopējot to uz mana datora starpliktuvē ar 12 GB RAM:
Tas sākas pie zemākā punkta, izmantojot 2,8 GB RAM, ielādējot attēlu līdz 3,6 GB (aptuveni 700 MB), pēc tam kopējot to starpliktuvē, līdz pat 6,3 GB RAM, pirms nokārtojat atpakaļ uz leju. 4.5-ish jūs sagaidāt, lai redzētu programmu un divas diezgan liela attēla kopijas.
Tas ir pēriens 3,7 GB lielu attēlu datu apstrāde pie maksimuma, kas, iespējams, ir sākotnējais attēls, rezervētais daudzums starpliktuvē un, iespējams, pāris konversijas buferi. Tas ir pietiekami, lai visas mašīnas ar mazāk nekā 8 GB RAM uz ceļiem.
Savādi, darot to pašu Firefox, vienkārši kopē attēlu failu nevis attēlu datus (bez biedējošu atmiņas pieauguma).
Vai kaut kas jāpievieno paskaidrojumam? Skaņas izslēgšana komentāros. Vai vēlaties lasīt vairāk atbildes no citiem tehnoloģiju gudriem Stack Exchange lietotājiem? Apskatiet pilnu diskusiju pavedienu šeit.