Как проходит выступление Mono.Cairo?

Я думал об использовании Mono.Cairo в качестве основы для легкой CAD-системы. Но не был уверен, на что было похоже представление. CAD-системы производят много перерисовок и могут содержать много данных с тоннами текста.

Если не Каир, то любые другие предложения приветствуются. Я хочу, чтобы приложение работало на Windows, Mac и Linux.


person Donny V.    schedule 22.10.2010    source источник


Ответы (1)


Это действительно будет зависеть от использования, но IMO - лучший выбор для кросс-платформенного API рисования.

На практике люди без проблем используют Cairo в достаточно чувствительных к производительности операциях. MonoDevelop использует Cairo для своего текстового редактора, а Banshee использует Cairo для набора пользовательских виджетов, включая представление списка. Я считаю, что набор инструментов GTK и плагин для браузера Moonlight используют Cairo для всех своих рисунков.

Теоретически Cairo может иметь аппаратное ускорение, поддерживаемое OpenGL, хотя я не знаю текущего состояния этого бэкенда. Приятным преимуществом Cairo является то, что у него есть приличный бэкенд PDF, который также полезен для печати.

Независимо от того, что вы используете для рисования, вам придется выполнять различные виды кэширования и другие оптимизации. Например, в текстовом редакторе MonoDevelop мы кэшируем видимые текстовые макеты Pango, поскольку размещение текста намного дороже, чем его фактическое отображение. И прокрутка работает гораздо более плавно, если вы засветите часть существующей поверхности и перерисуете только вновь открытую область. И некоторые операции (например, градиенты) выполняются намного медленнее, чем другие.

person Mikayla Hutchinson    schedule 22.10.2010