Привет, дорогие Пикукерсы!
Новое обновление вызвало некоторое недопонимание, поэтому давайте я вам объясню подробно, как работает хранение ваших изображений на сайте.
Начнем с базовых принципов:

Обычная фотка с телефона весит почти три мегабайта
Этот диск у нас сейчас забит графикой почти полностью

1 мегабайт = 8 мегабит. Ваша картинка на 3 мегабайта будет загружаться средним пользователем 1 секунду. А если в вашем турнире 256 вариантов?

Кроме того, они любят формат WebP, который режет качество
* * *
И вот у нас есть 3 кита, благодаря которым сжатие графики НЕОБХОДИМО. Поэтому мы всегда сжимали загружаемую вами графику.
Например, для турниров и тестов сжатие происходило по формуле "наибольшая сторона = 600 пикселей, а наименьшая - пропорционально". Теперь, с введением нового механизма обрезки изображений кое-что изменилось, поэтому я предлагаю нам пройти вместе этот увлекательный путь картинки по недрам Pikuco!

Например, мы создали новый вариант для нашего турнира.
Мы взяли нашу картинку на 3 мегабайта и загрузили её на сайт. И сайт сразу сжал её до 600 пикселей!
Зачем? Потому что мы используем автосохранения вашего процесса создания теста, следовательно нам нужно хранить не только строчки, что вы вписываете, но и всю графику.
Значит графику нужно загружать на сервер, а значит, мы очень быстро упремся в диск сервера, а значит сжатие обязательно. Но нам ведь нужно дать вам какую-то возможность нормально порезать эту картинку из изначального размера?

Красивые горы
Что мы можем заметить здесь, так это то, что размер открытой картинки оригинален. То есть, на сервере у нас сжатая версия, а здесь мы все еще располагаем полным объемом. Как так происходит?
Все просто: одну сжатую картинку мы отправили на сервер, чтобы у вас было автосохранение, а вторую её (изначальную) версию сохранили в вашем браузере, чтобы вы могли её удобно подрезать и обработать.
У такого подхода есть единственное техническое ограничение: оригинал хранится только в ту сессию работы с редактором, в которой вы её загрузили. Стоит вам уйти со страницы - браузер её забывает и теперь у вас в распоряжении только сжатая картинка с сервера из автосохранения.
Поэтому картинки стоит редактировать сразу после их заливки.

Выбираем область и жмем "Применить"
И вот, после обрезки, наш функционал берет только ту область, что вы выбрали и уже её сжимает по той-же формуле, отправляя на сервер:

Изначально залитая на сервер картинка при этом удаляется, чтобы не занимать место на сервере
Вы все еще можете открыть окно редактирования еще раз и нажать кнопку "Сбросить", получив обратно оригинальное изображение, но опять-же, это возможно только если ваш браузер все еще помнит оригинал (то есть она была загружена в текущей сессии).
* * *
Как видите, мы изо всех сил пытаемся найти компромисс между вашим удобством и всеми теми тремя плитами ограничений, стесняющими нас.
Надеюсь, теперь вы лучше понимаете как это работает. Проектирование всего этого алгоритма отняло у нас много сил и я надеюсь, вы оцените его по достоинству.
Как ты относишься к этому обновлению?47
Поделиться:
Лучшиекомментарии (18)
Аносим
Какие картинки с телефона весят три мегабайта? Они да одного ели как порой дотягивают. Плюс тут показано на картинке которую скорее всего скачали на ПК, и там обрезают.
admin
Ответ на Какие картинки с тел... (Аносим)
Это фотка с моего телефона в режиме 24 мегапикселя. Сейчас у многих телефонов есть 50, 100, а то и 120 мегапикселей режим. От того, на ПК её скачали или она находится на телефоне её вес не меняется.
Аносим
Ответ на Это фотка с моего те... (admin)
Тут вопрос снят, но разрешение фотографии которую вы обрезали, на телефоне почти не возможно найти. 4000×3000 пикселей, это всё же больше ПКшная картинка, чем телефонная.
admin
Ответ на Тут вопрос снят, но ... (Аносим)
Да нет, режим 4:3 на телефоне так фоткает. Есть лайфхак: когда мы фоткаем с телефона в базовом режиме 9:16 - телефон фоткает 4:3, потому что матрица камеры такого размера, а потом обрезает фотку по центру чтобы получилось 9:16. Я не говорю что фотки в среднем весят по три мегабайта, но такое встречается часто. Даже если принять что в среднем фотки весят 500кб, с текущим сжатием у нас примерно в 10 раз меньше вес каждой картинки.
VladorStudio
Спасибо за разъяснение! Понял принцип работы.
admin
Ответ на Спасибо за разъяснен... (VladorStudio)
Мы все хотим чтобы было зашибись. Но приходится делать так, чтобы было максимально зашибись при учете обстоятельств, которые не всегда заметны со стороны.
cookie2
Щас буду делать древо, ну а я Коннор, и я проверю как это работает на самом деле
evil ducky
Ответ на Щас буду делать древ... (cookie2)
На самом деле даже страшно думать о том, что каждый раз когда ты нажимаешь две кнопки и перекидываешь файл с пк на пикуко ты заполняешь огромную банку которая скоро переполниться ещё на чуть чуть.
Не Топлес
Классное обновление.
evil ducky
Как всегда деньги решают, правда 3.5к в месяц за 320гб это, конечно, сильно
admin
Ответ на Как всегда деньги ре... (evil ducky)
Ну, выглядит на самом деле не особо дорого, но если подумать: 1) Это же снежный ком. Чем дольше мы работаем - тем больше контента, который нужно хранить. Рано или поздно цифры будут нешуточные. 2) Это сейчас при учете того, что мы режем картинки до 600х600. Если вдруг захотеть увеличить это на чуть-чуть, например до 800х800 - ценник будет почти в два раза выше, ведь площадь пикселей, а следовательно и вес считаются по геометрическим формулам: 600x600=360 000, 800x800=640 000. То есть к картиночке приросло всего ничего, а вес почти в два раза.
evil ducky
Ответ на Ну, выглядит на само... (admin)
Я просто так до конца и не понял, почему бы не купить себе ссд на 1 тб и по сути сделать его своим сервером🤔 (Никогда до этого сайты не создавал, так что особо не имею понятия в чем разница и возможно ли это 😢)
Foxina
По моему возвращению имбовые обновы камбекнулись. Спасибо, admin, ты создал лучший сайт!
Shalopay
я сервачок вам своими картинками подзасрал, терпите
Тони Старк
Так вроде 1 мегабайт = 1024 килобайт. А 1 килобайт = 8 бит. Ну, не уверен.
Paradоx
Ответ на Так вроде 1 мегабайт... (Тони Старк)
1 килобайт=1024 байта, 1 байт=8 бит
Тони Старк
Ответ на 1 килобайт=1024 байт... (Paradоx)
Какая медленная загрузка, однако...
Мерченко
верховный проповедник учения гойды (admin) базировано разъясняет пользователям (гойдаславянам) о том как действует механика. Спасибо!