За замовчуванням в Опері дуже погано кешуються малюнки. Змінивши пару налаштувань, можна сильно прискорити роботу з ними.
Справа в тому, що у Опери є два кеша: повільний кеш на диску і швидкий в пам'яті. Коли ви переключаєтеся на наступну картинку, попередня викидається з кеша в пам'яті, і потім її доведеться знову завантажувати з диска і розпаковувати (картинки запаковані для зменшення розміру).
Але чому Опера викидає картинки з пам'яті, хоча ви відкрили всього лише 7 малюнків по 5 мегабайт кожен? Це ж 40 мегабайт даних, а у вас кілька гігабайт оперативної пам'яті!
І все-таки, навіть сім таких картинок - це лише 180 мегабайт. Однак Опера чомусь встановлює розмір кеша в пам'яті саме таким, - маленьким, - і поспішає викинути зайве, хоча в результаті його доведеться повільно перезавантажувати.
На щастя, розмір кеша можна задати вручну.
- Відкрийте opera: config
- Знайдіть параметр "Cache \ Figure". За замовчуванням в ньому варто 2Мб. Вкажіть що-небудь на зразок 1Гб (в кілобайтах: "1048576", а якщо пам'яті вистачає, в 64-бітної Опері можна і 2-4Гб). Збережіть налаштування.
- Знайдіть параметр "UserPrefs \ Automatic RAM Cache". Вимкніть його.
- перезавантажте Оперу
Знову спробуйте відкрити кілька великих малюнків. Тепер вони повинні залишатися в пам'яті і з'являтися миттєво, як тільки ви переключаєтеся на вкладку з ними.
Якщо хочете, можна підняти і наступні параметри кеша:
- 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. У мене дисковий кеш лежить на рам-диску. Все і так повинно бути швидко.
Навіть якщо дисковий кеш знаходиться на рам-диску, завантаження і розпакування малюнка займають час, в чому легко переконатися, провівши описаний в статті експеримент. Кеш пам'яті швидше.