Как правильно делать скриншоты для приставочных игр
Добавлено: 12.11.08 в 14:40
Как правильно: делать скриншоты из приставочных игр
Иллюстрации взяты с сайта (скрин road rash предоставлен zubotehnik'ом). Обработка и анализ — автор и imagemagick.
Итак, в последнее время меня некоторые настойчиво спрашивают, почему нужно сохранять скрины из игр именно в PNG или GIF, а не в JPEG (а также что такое optipng -o7 ). Сегодня я решил объяснить, почему. Итак, выберем несколько игр для примера. Я взял типичного представителя NES — Ike Ike! Nekketsu Hockey Bu (проще говоря, убойный хоккей), рандомную игру с SNES — Magical Pop'n и Road Rash для PSX.
Берём скрины из этих игр и сжимаем их по очереди в PNG и в JPEG с разными уровнями качества. Так как PNG — это формат сжатия без потерь, качество у него всегда 100%, а вот для JPEG качество может меняться. По умолчанию в таких программах, как Photoshop и GIMP качество выставлено в 80 из 100. Но нам этого не достаточно, и изображения будут сохраняться в JPEG с различными настройками качества — это же эксперимент!
Получаем кучу файлов разного размера и качества. Теперь нужно выбрать те, по которым можно сравнить два этих популярных формата в отношении скринов из вышеуказанных игр. Итак, критериями у нас будут следующие показатели: качество JPEG, размер файла и артефакты/искажения картинки. Чтобы не говорить впустую, перейдём прямо к сравнению.
Титульный экран Ike Ike! Nekketsu Hockey Bu
Жёлтый — размер файла в формате PNG и файла в формате JPEG совпадает
Синий — уровень сжатия JPEG по умолчанию
Зелёный — размер изображения PNG (на ленте — эталонное изображение)
Что всё это значит.
График:
красная линия на графике обозначает зависимость размера файла от качества JPEG;
т.е. при уменьшении качества уменьшается размер;
зелёная прямая на графике обозначает неизменный размер файла PNG;
синяя точка на красной линии обозначает качество по умолчанию;
жёлтая точка обозначает такое качество JPEG, при котором размер файлов PNG и JPEG одинаков;
Стрип:
это нарезка из увеличенных вдвое и обрезанных до одного размера картинок из файлов для сравнения качества "на глазок".
картинка, обозначенная зелёной точкой — это PNG размером 3,3 килобайта;
картинка, обозначенная жёлтой точкой — это JPEG размером ~3,3 килобайта;
картинка, обозначенная синей точкой — это JPEG с качеством по умолчанию (80).
Логотип Technos
Жёлтый — размер файла в формате PNG и файла в формате JPEG совпадает
Синий — уровень сжатия JPEG по умолчанию
Зелёный — размер изображения PNG (на ленте — эталонное изображение)
Здесь, как вы видите, нет жёлтой точки, потому что PNG сжал картинку настолько хорошо, что даже JPEG с качеством 0 (ноль!) был по размеру больше. Качество видно на стрипе.
Magical Pop'n — геймплей
Жёлтый — размер файла в формате PNG и файла в формате JPEG совпадает
Синий — уровень сжатия JPEG по умолчанию
Зелёный — размер изображения PNG (на ленте — эталонное изображение)
Road Rash PSX — геймплей
Жёлтый — размер файла в формате PNG и файла в формате JPEG совпадает
Синий — уровень сжатия JPEG по умолчанию
Зелёный — размер изображения PNG (на ленте — эталонное изображение)
Здесь видно, что для подобного скриншота, возможно, лучше применять JPEG, но делать этого всё равно не стоит (только если без меня ), потому что а) формат всё равно с потерями и б) бритва Оккама. То есть не нужно плодить сущности, когда уже есть нужная (то есть нужный нам формат). Поэтому остановимся именно на PNG даже для игр с PSX, тем более, что их у нас немного.
И, хотя я взял только три игры и четыре скриншота, можно с уверенностью сказать, что всё, что мы здесь видели, повторится в той или иной степени для всех подобных случаев.
В следующем посте я расскажу, чем и как эффективно сжать файл PNG для ещё большей полезности optipng будет, будет.