Кешування малюнків в опері - void

За замовчуванням в Опері дуже погано кешуються малюнки. Змінивши пару налаштувань, можна сильно прискорити роботу з ними.

Справа в тому, що у Опери є два кеша: повільний кеш на диску і швидкий в пам'яті. Коли ви переключаєтеся на наступну картинку, попередня викидається з кеша в пам'яті, і потім її доведеться знову завантажувати з диска і розпаковувати (картинки запаковані для зменшення розміру).

Але чому Опера викидає картинки з пам'яті, хоча ви відкрили всього лише 7 малюнків по 5 мегабайт кожен? Це ж 40 мегабайт даних, а у вас кілька гігабайт оперативної пам'яті!

І все-таки, навіть сім таких картинок - це лише 180 мегабайт. Однак Опера чомусь встановлює розмір кеша в пам'яті саме таким, - маленьким, - і поспішає викинути зайве, хоча в результаті його доведеться повільно перезавантажувати.

На щастя, розмір кеша можна задати вручну.

  1. Відкрийте opera: config
  2. Знайдіть параметр "Cache \ Figure". За замовчуванням в ньому варто 2Мб. Вкажіть що-небудь на зразок 1Гб (в кілобайтах: "1048576", а якщо пам'яті вистачає, в 64-бітної Опері можна і 2-4Гб). Збережіть налаштування.
  3. Знайдіть параметр "UserPrefs \ Automatic RAM Cache". Вимкніть його.
  4. перезавантажте Оперу

Знову спробуйте відкрити кілька великих малюнків. Тепер вони повинні залишатися в пам'яті і з'являтися миттєво, як тільки ви переключаєтеся на вкладку з ними.

Якщо хочете, можна підняти і наступні параметри кеша:

  • Cache \ Document - теж до гігабайта-півтора
  • Disk Cache \ BufferSize - до 100 мегабайт
  • Disk Cache \ Size - до 200 мегабайт, або скільки місця у вас є на диску, де лежить кеш

Який розмір кеша вибрати і чим це загрожує

Якщо у вас 32-бітна Опера, не робіть загальний обсяг Cache \ Figure і Cache \ Document більше гігабайти, скільки б пам'яті у вас не було. У 64-бітної Опері можна (і навіть корисно) встановити сумарний обсяг кеша до половини обсягу вашої оперативної пам'яті.

Але тоді іншим додаткам не вистачить пам'яті!
Нісенітниця. Уважно послухайте: у системі Windows програми не ділять пам'ять. Опера може "з'їсти" 8Гб оперативної пам'яті, і при цьому для інших додатків вся пам'ять буде вільна!
Чудеса? За лаштунками Windows надходить так: якщо програмі потрібна пам'ять, а вільної пам'яті немає, вона тимчасово "прибирає" частина пам'яті Опери на жорсткий диск, в файл підкачки. Потім, коли Опері знову буде потрібно ці дані, система їх поверне в оперативку.

Виходить, дані все одно будуть завантажуватися з диска?
Тільки в тому випадку, коли інші застосування не вистачило пам'яті через Опери. Це повинно відбуватися рідко.

Тоді чому в 32-бітної Опері можна поставити більше гігабайти?
Скільки б у вас не було фізичної пам'яті, віртуальної пам'яті у 32-бітних додатків всього за 2 гігабайти. Коли вона закінчиться, додаток помре. Якщо ви більше гігабайти віддасте на кеш, Опері зовсім не залишиться пам'яті на все інше.

Чому в 64-бітної Опері можна поставити більше гігабайти?
У 64-бітних додатків гігантський обсяг віртуальної пам'яті. Можете відвести під кеш хоч терабайт, місце все одно залишиться.

Але у мене всього 8 гігабайт оперативної пам'яті, звідки візьметься цей терабайт?
Система буде прибирати частину цього терабайта на диск. У фізичної пам'яті залишатимуться тільки найпотрібніші його частини.

Тоді не поставити кеш в терабайт?
Немає сенсу. Нам хочеться, щоб кеш був швидким, а для цього він повинен уміщатися в фізичної пам'яті. Звичайно, іноді система може скинути його на диск, але ми розраховуємо, що це буде відбуватися нечасто.

Що, якщо у мене відключений файл підкачки?
Тоді, зрозуміло, постарайтеся не з'їсти всю доступну фізичну пам'ять! Зробіть кеш поменше.

Що, якщо у мене постійно запущений віджиратись 75% пам'яті монстро-процес?
Тоді, зрозуміло, постарайтеся вмістити кеш в решту 25%! Вам не потрібно, щоб система постійно завантажувала-вивантажувала пам'ять з диска, розриваючись між вашим монстром і Оперою.

У мене SSD. У мене дисковий кеш лежить на рам-диску. Все і так повинно бути швидко.
Навіть якщо дисковий кеш знаходиться на рам-диску, завантаження і розпакування малюнка займають час, в чому легко переконатися, провівши описаний в статті експеримент. Кеш пам'яті швидше.