Открыть список
Как стать автором
Обновить

Комментарии 15

Главная особенность WPF, а также то, почему он привязан к винде — поддержка аппаратного ускорения. Что является трудно достижимой задачей для любого кросс платформенного фреймвока.
И да и нет, да wpf привязан к Win. Но в авалонии добились наличия аппаратного ускорения при кроссплатформенном подходе.
Фризы при большом количестве контролов, даже на винде, говорит о том, что в Авалонии нет аппаратного ускорения. У WPF, при тех же условиях, нет проблем с производительностью.

На Linux и macOS отрисовка через Skia->OpenGL доступна и включена по-умолчанию начиная с версии 0.8.
На Windows отрисовка через Skia->ANGLE->Direct3D доступна с версии 0.8, включена по-умолчанию для Win8+ начиная с 0.10, для Windows 7 по-умолчанию выключена, Отрисовка через Skia->OpenGL (WGL) доступна с 0.10 и по-умолчанию выключена.


Так же с 0.10 поддерживается хостинг OpenGL-контента непосредственно в дереве элементов без whitespace problem (на Windows необходимо включить режим отрисовки через WGL)

А шрифты она тоже через OpenGL рисует?

Skia для этого использует т. н. font atlas

А что, Direct2d backend уже не используется?

По-умолчанию — нет. Это всё-таки довольно устаревшее API, которое давно не получало никаких существенных обновлений. А Skia активно пилится.

В теории WPF, наоборот, имеет хороший потенциал к кросс-платформенности, так как элементы рендерятся приложением самостоятельно, а не используются платформозависимые-примитивы.


А проблема не в аппаратном ускорении как таковом, а в том, что WPF жёстко привязан к DirectX без возможности нормальной расширяемости. Даже при наличии открытого исходного кода WPF проще написать свой фреймворк с нуля, чем адаптировать существующий.

Это уже обсуждали под прошлым постом (и уверен, что будут под следующими)
Вот в этой ветке уважаемый в DotNetRuChat (тг чат .net) господин Летучая Рыба ответил на несколько важных вопросов об AvaloniaUI и MAUI.

Написал на работе небольшую утилиту использую Avalonia.
Немного напугала очень сильная интеграция с ReactiveUI.
Но как оказалось, вполне можно использовать части ReactiveUI с Prism, интеграция которого тоже есть для Avalonia.

Сейчас во всю идет работа по разделению «имущества» и вынесению в самостоятельные репы, хотите быть в курсе — залетайте в чат авалонии.

Подскажите, а есть какие-то средства для внедрения 3D рендера в виде какого-то канваса? В WPF, к примеру, есть Viewport3D.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
tech.kontur.ru
Численность
5 001–10 000 человек
Дата регистрации

Блог на Хабре