"Если вдруг открылся люк, не пугайся, это глюк!" (с) Если что-то работает не так, вы нашли ошибку или опечатку в программе — вам в этот раздел
Аватара пользователя
olegpr
Приветствую.

После отправки большого файла у получателя в окне постоянно бегает прогресс и окно привата зависает. Удалить это сообщение не получается. Зависает даже в админке сервера при просмотре протокола.
Клиент работает без проблем, пока не откроет приват с этим сообщением...
Что можно сделать?

С уважением,
Олег.
Вложения
Снимок.PNG
Снимок.PNG (42.33 КБ) Просмотров: 1753
Аватара пользователя
AlexaS
Пару раз было помогало удаление файла на сервере.
Аватара пользователя
olegpr
Спасибо, удаление файла помогло!
Аватара пользователя
Алексей Пикуров
После отправки большого файла у получателя

Это файл-изображение?
Аватара пользователя
olegpr
Да, изображение.
Аватара пользователя
Алексей Пикуров
Можете прислать это изображение на [email protected] нам для анализа? В любом архиве либо ссылкой на Google.Drive.

Попробуем разобраться, в чём там дело.
Аватара пользователя
olegpr
Отправил.
Как оказалось он не большой по размеру, но большой по пикселам.
Аватара пользователя
Алексей Пикуров
Не важно. Файл пришёл, спасибо. Я попробую разобраться, что происходит.
Аватара пользователя
Алексей Пикуров
Разобрались.

Исходный файл, что вы прислали — размером 12074 x 8396 точек. Это 101 373 304 пикселей.

При ресайзе изображений, когда мы делаем миниатюру, чтобы избежать "лесенки", мы переводим исходную картинку в 64-х битовый ARGB. Это 8 байт на точку.

Итого исходная картинка займёт в памяти примерно 773 мегабайта. Это непозволительно много, функция ресайза не отрабатывает.

Поэтому перед изменением размера я поставил проверку, если исходный размер изображения не превышает 5К (19 660 800 точек), то ресайз делается, как и раньше. А если больше — то перевод в 64-х битовый цвет не делается, чтобы сэкономить память и время. Протестировал — всё Ок.

Фикс будет в новой сборке, после Нового Года.
Аватара пользователя
Алексей Пикуров
viewtopic.php?p=42434#p42434

Поправил название темы.