سلام؛
من نمیدونم چرا این دخترها همهش فکر میکنن سؤالاتی که میپرسن خندهداره؟! فکر میکنم به خاطر اعتماد به نفس پایینی هست که دارن. بر فرض هم که یکی بخنده! خوب بخنده، به بهشت که میخنده!
و اما سؤالی که پرسیدید، یک فلسفه اساسی نیاز داره.
در بحث نمایش عکس در مانیتور یا تلویزیون ما دو نوع رندرینگ (Rendering) داریم. رندر یعنی روال نمایش عکس.
یکی رو میگیم Interlace (یکی در میان) که قدیمیتر به حساب میاد و معایبی داشت که حذف شد و یکی رو میگیم Progressive (پیشرفتی).
در نوع اول که همیشه با i شناخته میشه (مثلاً میگن ویدئوی 720i) تصاویر به صورت یک خط در میان لود میشن. یعنی مثلاً اول خطهای فرد (1 و 3 و 5 و ...) از اینترنت دانلود میشن و نمایش داده میشن، در بحث ویدئو، چون این نوع لودینگ باعث میشد کاربر بیشتر احساس پرش کنه، دیگه استفاده نمیشه.
اما در نوع دوم که با حرف p شناخته میشه (مثلاً میگن ویدئوی 1080p) تصاویر پیکسل به پیکسل از شمال غرب تصویر تا جنوب شرق دانلود و نمایش داده میشن.
پس، اینکه یک عکس روی مرورگر چطور لود بشه، به این بستگی داره که شخص ایجاد کننده تصویر چی گفته باشه.
در فتوشاپ، اگر یک عکس رو برای Web خروجی بگیرید (از منوی File گزینه Save for web رو بزنید یا کلیدهای Ctrl+Alt+Shidft+s)، گزینهای داریم به نام interlace اگر موس رو روی اون ببرید، مینویسه Download in multiple passes یعنی در چند مرحله دانلود بشه.
من یک عکس که با ترفند interlace ذخیره شده رو میخوام نشونتون بدم. به لود شدن عکس دقت کنید!
روی لینک زیر کلیک کنید:
http://aftabgardan.persiangig.com/img/interlace.png
حالا، همون عکس با ترفند progressive رو ببینید و به لود شدن عکس دقت کنید:
http://aftabgardan.persiangig.com/img/progressive.png
این روزها چون سرعتها بالاست، کسی به صورت interlace ذخیره یا لود نمیکنه، چون چشم به هم بزنی عکس باز شده. از طرف دیگه عکسی که با ترفند interlace ذخیره شده باشه، حجمش بیشتره.
مرورگرها به طور پیشفرض عکسی که تعیین نشده باشه که interlace باشه رو به صورت progressive لود میکنن. من یه جستجو کردم که ببینم میشه در مرورگر گزینهای رو تغییر داد که همه عکسها رو به صورت interlace لود کنه یا نه که فعلاً چیزی پیدا نکردم. (چون اگر interlace لود بشه، اگر هم عکس به طور کامل دانلود نشه و وسطش مثلاً اینترنت قطع بشه، شما یک شمای کلی از عکس دارید)
در این زمینه، این مقاله مطالب جالبی میگه:
http://www.codinghorror.com/blog/2005/12/progressive-image-rendering.html
به خصوص اون محوطه خاکستری رنگش اطلاعات خوبی داره. من اونها رو اینجا کپی میکنم که یه وقت اگر از روی اینترنت پاک شد، اینجا بمونه، ترجمهش سادهست:
There are four ways to transmit an image over the Internet. Over a fast connection there won't be any apparent difference, but over a modem connection the difference is stunningly obvious. Choosing the right way can make your connection seem much faster than it really is.
1- Wait until every bit of image data has been sucked through the modem before displaying the whole image. So blindingly dumb that not even Internet Explorer does it.
2- Display image data as it is received, resulting in a top-down filling in of the image. One variant -- the one that everyone has seen -- of JPEG does this. This is noninterlaced display, and both GIF and PNG are capable of it as well. Non-interlaced images are smaller than interlaced images.
3- Use a one-dimensional interlacing scheme. This is how GIF interlacing works. Every eighth horizontal line is transmitted in the first "pass", filling up the dimensions of the image in 1/8th of the time that the entire image will take to download. The next pass transmits every fourth line, making the image less distorted. The next pass transmits every second line, making the image even less distorted, and the fourth and final pass transmits the remaining lines.
4- Use a two-dimensional interlacing scheme. This is how PNG interlacing works. Instead of four passes through the image, PNG makes seven passes. In 1/64 of the time that the whole image will take to display, one pass is already completed, showing the image in a very rough manner. Successive passes fill in more information, never distorting the pixels by more than a factor of two to one.
در مورد فایلهای دیگه هم که مشخصه، بیت به بیت دادهها دانلود میشن دیگه...