Приложение paint.net получает обновление с нативной поддержкой ARM

Популярное приложение paint.net теперь оснащено нативной поддержкой ARM64. Ранее на таких устройствах, как Surface Pro X и HP Elite Folio, его можно было запустить исключительно через эмуляцию. Переход на ARM64 пока доступен только инсайдерам альфа, но он позволит значительно повысить производительность Windows 10 на компьютерах ARM.

Paint.net обновилось до сборки 7894 — в обновление вошло множество изменений и улучшений, в том числе ускоренная работа Волшебной палочки и Ведра краски. Автор программы, Рик Брюстер, рассказал, что он «потратил много времени на то, чтобы оптимизировать Волшебную палочку и Ведро краски».

Обновление также переведет приложение на автономное развертывание: это означает, что устанавливать .NET больше не придется, так как все необходимые компоненты уже встроены в приложение. На функциональности это никак не отразится, однако значительно упростит процесс установки.

Брюстер также тестирует веб-установщик. У такого варианта есть ряд преимуществ, самое важное из которых — обладатели компьютера на архитектуре ARM смогут точно получить версию приложения ARM64.

Вот список внесенных по сравнению с прошлой альфа-сборкой изменений:

  • повышена производительность Волшебной палочки в целом.
  • повышена производительность Ведра краски в целом.
  • повышена производительность Ведра краски при изменения цвета или другой настройки — изменения теперь отображаются мгновенно.
  • плагины теперь загружаются в отдельное расположение AssemblyLoadContexts,  что повышает стабильность и устойчивость к различным проблемам с версионированием, загрузкой зависимостей или неправильной установкой.
  • исправлена ошибка рендеринга в инструменте Градиент, о которой впервые сообщили здесь.
  • исправлена ошибка при попытке выполнить прямоугольное выделение фиксированного размера больше, чем изображение
  • исправлен сбой в раскрывающемся списке Фигуры, вызванный ошибкой в WinForms
  • исправлена ошибка с ползунком Допустимость, когда 58% и 59% отображались как 58% из-за неверного округления. На самом деле использовалось правильное значение, но отображалось оно некорректно.
  • добавлен аргумент командной строки /disablePlugins для помощи в устранении различных проблем с запуском приложения и неправильной установкой плагинов.
  • требование иметь SSSE3 на x86/x64 было изменено на просто SSE2. Тем не менее, процессоры без SSSE3 больше не оптимизируются и в результате будут работать медленнее.
  • обновлен плагин AvidFileType авторства @null54 до версии 1.1.15.0, теперь он включает поддержку многослойных файлов AVIF. С дополнительной информацией можно ознакомиться на странице релизов проекта на GitHub.

При обновлении с версии 4.2.16 вы также увидите следующие изменения:

  • приложение было переведено на .NET 5, в результате чего значительно повысилась производительность.
  • ARM64 теперь поддерживается нативно.
  • установка теперь происходит гораздо быстрее, так как больше не требуется этап Оптимизация производительности для вашей системы (NGEN был заменен на ReadyToRun через crossgen).
  • портативные ZIP-файлы теперь официально доступны, они используют автономное развертывание и не требуют установки .NET 5. Но обновляться до более новых версий нужно вручную.
  • повысилась производительность большинства эффектов и прочих задач, требующих интенсивных вычислений, в среднем примерно на 20% благодаря улучшенной генерации кода .NET 5
  • многие области приложения были оптимизированы для использования SIMD (SSE2/3/4.1, AVX2) на x86/x64.
  • рисование на изображении с большим количеством слоев работает быстрее.
  • рисование с использованием альфа-режима Градиента работает быстрее.
  • рисование с помощью инструмента Перекрасить работает быстрее.
  • рисование с помощью Стереть и Штампа клонирования работает быстрее при использовании цвета, если его альфа-значение меньше 255.
  • рисование в режиме наложения Перезапись работает быстрее.
  • рисование с помощью инструмента Фигуры работает быстрее благодаря улучшенной производительности композитинга.
  • рисование Кистью без сглаживания выполняется быстрее.
  • сжатие плиток растрачивает меньше ресурсов благодаря оптимизации для SSE2 и AVX2.
  • сложное выделение работают быстрее.
  • внедрено также множество других оптимизаций по всему приложению и движку рендеринга.
  • качество сглаживания выделения теперь выше за счет использования фильтра суперсэмплирования 4×4 вместо 3×3. Код также был оптимизирован для использования SSSE3 на x86/x64.
  • производительность должна заметно повыситься на системах без HyperThreading (за счет резервирования 1 ядра для пользовательского интерфейса), а также незначительно вырасти на системах с ним (за счет использования большего количества логических ядер).
  • плагины Effect и File Type теперь могут быть организованы в папки — загрузчик плагинов будет рекурсивно искать DLL на глубину до 1 папки.
  • исправлена ошибка в Polar Inversion, которая вызывала зависания, благодаря чему производительность Polar Inversion повысилась в 3 раза (а также немного благодаря .NET 5).
  • возникали некоторые проблемы с увеличением и уменьшением масштаба с помощью клавиатуры, когда точка привязки рассчитывалась неправильно, из-за чего холст смещался в неверном направлении. Ошибка исправлена.
  • исправлена ошибка при сохранении с глубиной бита Автоопределение, которая приводила к потере точности на некоторых изображениях, в которых уже содержалось 256 цветов или меньше. Об этом сообщалось здесь.
  • для систем x86/x64 теперь требуется процессор, поддерживающий SSSE3, ранее требовался только SSE2. Такой поддержкой оснащены все процессоры, выпущенные с 2006 года.
  • из-за сбоев эффекты, ускорявшиеся видеокартой (размытие по Гауссу, размытие в движении, круговое размытие), на ARM64 будут по факту будут использовать для рендеринга центральный процессор.

В блоге Брюстера можно узнать, как получить альфа-сборку. На данный момент бета- и альфа-версии через Microsoft Store недоступны.

 

Добавить комментарий