| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > Mono |
| Автор: ХудойТролль 2.4.2009, 11:07 |
| Как вы думаете, позволит ли майкрософт развиватся этому проекту, ведь если он дагонит дотнэт, то все будут использовать именно моно |
| Автор: Vasay 4.5.2009, 00:50 | ||
Не вижу перспектив данного проекта. Под win есть родной .net, который всегда будет на шаг впереди. Под .nix? А кому он тут нужен? Да и если захочется иметь что-то подобное .net-у есть Java (хотя, скорее .NET подобен Java). Это только мое мнение - я могу ошибаться. |
| Автор: gambit 4.5.2009, 09:00 |
Microsoft наоборот подднрживает этот проект, так как они в первую очередь заинтересованы в том что бы их программы запускались под линуксом ну во первых дОгонит, во вторых никогда он догнать не сможет, если он пойдет своим путем, то он умрет; а волочась за .net, догнать невозможно. Лично я никогда не перейду на *nix, меня в винде абсолютно все устраивает, я думаю я не один такой. |
| Автор: Vasay 4.5.2009, 09:15 | ||
Вот они уж точно не заинтересованы. Иначе, давно бы все запускалось. |
| Автор: HalkaR 5.5.2009, 11:41 |
| Mono довольно хороший проект - жалко что его не раскручивают и не рекламируют. Будет очень жаль если он загнется. |
| Автор: EvgenZ 5.5.2009, 13:02 |
| конечно фигня, лучше бы тетрис 5D сделали. |
| Автор: Lite 6.5.2009, 13:55 |
| IL- код входить в стандарт ISO. Мелкомягие не имеют права закрывать Mono, дажу морального права не имеют, бо заключили договор. Я так понял Мелкомягие ставлят ставку на Visual Studio, а не на винду. |
| Автор: Ch0bits 9.5.2009, 16:49 |
| А где голосовалка?! Моя точка зрения, что в Mono нет необходимости. Хотя некоторые "поделия" на нём уже написаны. Но популярности он не получил потому что не обладает ничем выдающимся, ничем нужным индустрии. Кроссплатформенность? - Жаба, питон и Си с лучше. Скорость? - Ужас. Удобство разработки? - До SharpDevelop как до луны. Легкость? - Тянет большущий рантайм. Технологии? - Вечно в хвосте. |
| Автор: Ch0bits 10.5.2009, 11:11 |
| Сегодня зашел на сайт микрософтовской конференции remix 2009, как известно они используют у себя Silverlight. А у меня Ubuntu и Firefox! |
| Автор: kamre 10.5.2009, 15:39 | ||
Похоже, что полная фигня. Недавно простой тест на графику погонял, так Mono по сравнению с .NET рисует криво: ![]() ![]() и тормозит еще: в .NET 125fps, а в Mono всего 36fps. |
| Автор: source777 10.5.2009, 19:05 | ||||
|
| Автор: kamre 10.5.2009, 23:29 | ||||
А драйвера последние от NVIDIA стояли на самой новой openSUSE. Разве Mono умеет рисовать через OpenGL? В любом случае косяки в отрисовке заметны невооруженным глазом. |
| Автор: source777 11.5.2009, 13:26 |
| Да, ещё как. Кстати именно благодаря Mono из под .NET тоже можно рисовать через OpenGL, это один из примеров где Mono на пару лет обогнало .NET, а .NET уже спустя время портировал фичи из Mono. Всё это в рамках подпроекта http://taoframework.com/. В Mono он работает с 2005 года, а в .NET c 2007-го. Не в любом случае, а в случае GDI+, которая является частью ядра Windows. Так что косяки в ней дело понятное, да и не никто кроме ленивых студентов через GDI+ графику не отрисовывает. |
| Автор: kamre 11.5.2009, 14:46 | ||||||
Спасибо за ссылку. Но я там не нашел, что именно предлагается на замену GDI+ для отрисовки векторной графики с субпиксельным позиционированием и сглаживанием. Есть там быстрая и кроссплатформенная замена?
Mono претендует на совместимость с .NET, значит обязано поддерживать и отрисовку через API поверх GDI+. А то что есть сейчас работает криво и тормозит.
Честно говоря я к .NET/Mono только присматриваюсь. А как "не ленивые студенты" отрисовывают векторную графику в .NET/Mono? |
| Автор: Ch0bits 11.5.2009, 15:25 |
Ща можно http://en.wikipedia.org/wiki/Microsoft_XNA Только она не векторная, зато тянет с собой большущий рантайм, подстать самому фреймворку. |
| Автор: source777 11.5.2009, 19:42 | ||||
|
| Автор: kamre 11.5.2009, 21:19 | ||||||
Как это не претендует:
??
Меня конкретно интересует векторная 2D графика со сглаживанием. Поэтому первое что я решил попробовать в .NET/Mono - это System.Drawing.Graphics, который рисует через GDI+. Но поддержка System.Drawing.Graphics в Mono уж слишком кривая и тормозная сейчас. А сами по себе OpenGL/DirectX слишком низкоуровневые для отрисовки векторной графики, так что простыми bindings здесь не обойтись. Как именно предлагается рисовать в .NET/Mono через OpenGL? Что используют "не студенты"? Вообще я пока только единственный хороший вариант знаю для отрисовки векторной графики через OpenGL: Qt Arthur с OpenGL pipeline на современной видеокарте. Вот мне и интересно, что же .NET/Mono могут предложить аналогичного... |
| Автор: Ch0bits 11.5.2009, 21:58 |
| Mono Cairo library Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. |
| Автор: source777 11.5.2009, 22:06 | ||||
А вот так это. Слой совместимости с Microsoft API не означает полной совместимости, она и невозможна даже теоретически пока исходники Windows не станут Open Source. Если тебя интересует это второстепенное направление, то пользуйся http://www.mono-project.com/MoMA для выявления не реализованных функций. Ну если только 2D, то пользуйся http://www.mono-project.com/Mono.Cairo - это очень похожая по API на GDI+ штука, но работает через разные бэкенды(может и через OpenGL), а не через WinAPI`шную GdiPlus.dll. Добавлено через 1 минуту и 9 секунд Ch0bits опередил, хитрюга |
| Автор: kamre 11.5.2009, 22:11 | ||
Так оно вроде и так используется в линуксовой реализации System.Drawing в Mono: ![]() Именно этот pipeline рисует криво и тормозит в линуксе. |
| Автор: kamre 11.5.2009, 22:28 | ||||||
Потому что нужен выскоуровневый API для отрисовки вроде System.Drawing.Graphics или http://doc.trolltech.com/4.5/qpainter.html. Кроме того нужно качественное сглаживание и субпиксельная точность при отрисовке. И это очень нетривиальная задача, которая так просто на низкоуровневом OpenGL не решается: http://homepage.mac.com/arekkusu/bugs/invariance/HWAA.html
Ну уж отрисовка то векторной графики достаточно точно описывается и Qt/Java2D/.NET рендерят эти шестеренки практически с точностью до пикселей (только сглаживание немного разное у всех). А вот в Mono через System.Drawing.Graphics получается совсем не то, что ожидается и Microsoft не виноват.
Mono.Cairo и используется в линуксовой реализации System.Drawing. |
| Автор: source777 11.5.2009, 22:31 | ||
Ты читать то умеешь? http://www.mono-project.com/Drawing же тебе чёрным по белому английским языком написано, что означает этот рисунок:
Ты в этой теме активно гонишь на libgdiplus.so, а к Mono.Cairo она никакого отношения не имеет. Послать тебя что-ли на поиски пруфлинка, чтобы ты недельку по инету полазил... |
| Автор: kamre 11.5.2009, 22:34 | ||
Как это не имеет? libgdiplus.so реализован поверх Cairo (не Mono.Cairo). Хотя можно еще попробовать напрямую использовать bindings к Cairo, только вот есть ли они к .NET (не Mono)? Добавлено через 8 минут и 39 секунд Да, ошибся немного. На самом деле там так: System.Drawing.Graphics => libgdiplus => Cairo. Т.е. получается разработчики libgdiplus настолько сумели испортить Cairo, что оно тормозит и криво рисует. |
| Автор: source777 11.5.2009, 22:49 | ||||
В том сообщении я имел в виду именно Mono.Cairo, так что поправил.
В общем попробуй Mono.Cairo с бекэндом OpenGL, проблем остаться не должно. Добавлено через 7 минут и 31 секунду P.S. Впрочем, рисование часиков, да и вообще графика, - это далеко не основное применение .NET`a А с основными применениями Mono справляется весьма хорошо, так что, я уверен, не стоит ругать такой замечательный проект за 10% несовместимости с .NET и за небольшое отставание от него по некоторым сопутствующим технологиям. |