Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > Mono


Автор: ХудойТролль 2.4.2009, 11:07
Как вы думаете, позволит ли майкрософт развиватся этому проекту, ведь если он дагонит дотнэт, то все будут использовать именно моно

Автор: unicuum 4.5.2009, 00:13
Цитата(ХудойТролль @  2.4.2009,  11:07 Найти цитируемый пост)
Как вы думаете, позволит ли майкрософт развиватся этому проекту, ведь если он дагонит дотнэт, то все будут использовать именно моно 

Не думаю, что все будут пользоваться даже обычным .Net Framework x.x. У Mono разработчик Novell, это тот самый который заключает сделки с Microsoft и создаёт очень кривые дистрибутивы OpenSUSE, по сравнению с другими GNU/Linux. Теоретически они могли бы сделать, а практически будут всячески этому противодействовать.

Автор: Vasay 4.5.2009, 00:50
Цитата

Как вы думаете, позволит ли майкрософт развиватся этому проекту, ведь если он дагонит дотнэт, то все будут использовать именно моно


Не вижу перспектив данного проекта. Под win есть родной .net, который всегда будет на шаг впереди. 
Под .nix? А кому он тут нужен? Да и если захочется иметь что-то подобное .net-у есть Java (хотя, скорее .NET подобен Java). 

Это только мое мнение - я могу ошибаться. 

Автор: gambit 4.5.2009, 09:00
Цитата(ХудойТролль @  2.4.2009,  11:07 Найти цитируемый пост)
позволит ли майкрософт развиватся этому проекту

Microsoft наоборот подднрживает этот проект, так как они в первую очередь заинтересованы в том что бы их программы запускались под линуксом

Цитата(ХудойТролль @  2.4.2009,  11:07 Найти цитируемый пост)
 ведь если он дагонит дотнэт

ну во первых дОгонит, во вторых никогда он догнать не сможет, если он пойдет своим путем, то он умрет; а волочась за .net, догнать невозможно.

Цитата(ХудойТролль @  2.4.2009,  11:07 Найти цитируемый пост)
то все будут использовать именно моно 

Лично я никогда не перейду на *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
А где голосовалка?!  smile 

Моя точка зрения, что в Mono нет необходимости. Хотя некоторые "поделия" на нём уже написаны. Но популярности он не получил потому что не обладает ничем выдающимся, ничем нужным индустрии. Кроссплатформенность? - Жаба, питон и Си с лучше. Скорость? - Ужас. Удобство разработки? - До SharpDevelop как до луны. Легкость? - Тянет большущий рантайм. Технологии? - Вечно в хвосте.

Автор: Ch0bits 10.5.2009, 11:11
Сегодня зашел на сайт микрософтовской конференции remix 2009, как известно они используют у себя Silverlight. А у меня Ubuntu и Firefox! smile И что вы думаете? Они предложили установить Moonlight (Основанный на Mono порт Sivlerlight от Novell). Какого же было мое удивление когда "оно" заработало. Выглядит конечно страшненько по сравнению с ютубоподобными плеерами и формат видео WMV. Значит все-таки MS приложило руку к развитию Mono, путем спонсирования Novell. Так вот.  smile 

Автор: kamre 10.5.2009, 15:39
Цитата

Mono, фигня?

Похоже, что полная фигня. 
Недавно простой тест на графику погонял, так Mono по сравнению с .NET рисует криво:
user posted imageuser posted image
и тормозит еще: в .NET 125fps, а в Mono всего 36fps.

Автор: source777 10.5.2009, 19:05
Цитата(kamre @  10.5.2009,  15:39 Найти цитируемый пост)
Недавно простой тест на графику погонял, так Mono по сравнению с .NET рисует криво
и тормозит еще: в .NET 125fps, а в Mono всего 36fps.
Поставь дрова на видеокарту под Linux`ом, и рисуй через OpenGL, а не через ж...GDI+.

Цитата(Ch0bits @  10.5.2009,  11:11 Найти цитируемый пост)
Значит все-таки MS приложило руку к развитию Mono, путем спонсирования Novell. Так вот.
Вот в чём чём, а в развитии Moonlight MS заинтересована очень сильно, без Moonlight им не победить конкурентов в этой области. Так что MS уже не только поддерживает проект, но и помогает в разработке. http://www.moreinterop.com/Solutions/Moonlight.aspx

Автор: kamre 10.5.2009, 23:29
Цитата(source777 @ 10.5.2009,  19:05)
Цитата(kamre @  10.5.2009,  15:39 Найти цитируемый пост)
Недавно простой тест на графику погонял, так Mono по сравнению с .NET рисует криво
и тормозит еще: в .NET 125fps, а в Mono всего 36fps.
Поставь дрова на видеокарту под Linux`ом, и рисуй через OpenGL, а не через ж...GDI+.

А драйвера последние от NVIDIA стояли на самой новой openSUSE. Разве Mono умеет рисовать через OpenGL? В любом случае косяки в отрисовке заметны невооруженным глазом.

Автор: source777 11.5.2009, 13:26
Цитата(kamre @  10.5.2009,  23:29 Найти цитируемый пост)
Разве Mono умеет рисовать через OpenGL? 
Да, ещё как. Кстати именно благодаря Mono из под .NET тоже можно рисовать через OpenGL, это один из примеров где Mono на пару лет обогнало .NET, а .NET уже спустя время портировал фичи из Mono. Всё это в рамках подпроекта http://taoframework.com/. В Mono он работает с 2005 года, а в .NET c 2007-го.

Цитата(kamre @  10.5.2009,  23:29 Найти цитируемый пост)
В любом случае косяки в отрисовке заметны невооруженным глазом. 
Не в любом случае, а в случае GDI+, которая является частью ядра Windows. Так что косяки в ней дело понятное, да и не никто кроме ленивых студентов через GDI+ графику не отрисовывает.

Автор: kamre 11.5.2009, 14:46
Цитата(source777 @ 11.5.2009,  13:26)
Цитата(kamre @  10.5.2009,  23:29 Найти цитируемый пост)
Разве Mono умеет рисовать через OpenGL? 
Да, ещё как. ... Всё это в рамках подпроекта http://taoframework.com/

Спасибо за ссылку. Но я там не нашел, что именно предлагается на замену GDI+ для отрисовки векторной графики с субпиксельным позиционированием и сглаживанием. Есть там быстрая и кроссплатформенная замена?

Цитата(source777 @ 11.5.2009,  13:26)
Цитата(kamre @  10.5.2009,  23:29 Найти цитируемый пост)
В любом случае косяки в отрисовке заметны невооруженным глазом. 
Не в любом случае, а в случае GDI+, которая является частью ядра Windows.

Mono претендует на совместимость с .NET, значит обязано поддерживать и отрисовку через API поверх GDI+. А то что есть сейчас работает криво и тормозит.

Цитата(source777 @ 11.5.2009,  13:26)
да и не никто кроме ленивых студентов через GDI+ графику не отрисовывает

Честно говоря я к .NET/Mono только присматриваюсь. А как "не ленивые студенты" отрисовывают векторную графику в .NET/Mono?

Автор: Ch0bits 11.5.2009, 15:25
Цитата(kamre @  11.5.2009,  14:46 Найти цитируемый пост)
А как "не ленивые студенты" отрисовывают векторную графику в .NET

Ща можно http://en.wikipedia.org/wiki/Microsoft_XNA  smile 
Только она не векторная, зато тянет с собой большущий рантайм, подстать самому фреймворку.  smile 

Автор: source777 11.5.2009, 19:42
Цитата(kamre @  11.5.2009,  14:46 Найти цитируемый пост)
Честно говоря я к .NET/Mono только присматриваюсь. А как "не ленивые студенты" отрисовывают векторную графику в .NET/Mono? 
А не студенты используют OpenGL(предпочтительнее) или DirectX.


Цитата(kamre @  11.5.2009,  14:46 Найти цитируемый пост)
Mono претендует на совместимость с .NET, значит обязано поддерживать и отрисовку через API поверх GDI+.
Чушь, Mono претендует на совместимость со стандартом ISO по поводу CLI, а GDI+ туда не входит(кстати GDI+ вообще в .NET не входит, просто у WinForms есть привязки для работы с GDI+), так что не надо всё в одну кучу сваливать. 

Автор: kamre 11.5.2009, 21:19
Цитата(source777 @ 11.5.2009,  19:42)
Чушь, Mono претендует на совместимость со стандартом ISO по поводу CLI, а GDI+ туда не входит...

Как это не претендует:
Цитата

Mono Feature Highlights
Microsoft Compatible API
Run ASP.NET, ADO.NET, and Windows.Forms 2.0 applications without recompilation

??

Цитата(source777 @ 11.5.2009,  19:42)
Цитата(kamre @  11.5.2009,  14:46 Найти цитируемый пост)
А как "не ленивые студенты" отрисовывают векторную графику в .NET/Mono? 
А не студенты используют OpenGL(предпочтительнее) или DirectX.

Меня конкретно интересует векторная 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
Цитата(kamre @  11.5.2009,  21:19 Найти цитируемый пост)
А сами по себе OpenGL/DirectX слишком низкоуровневые для отрисовки векторной графики
С чего это вдруг?

Цитата(kamre @  11.5.2009,  21:19 Найти цитируемый пост)
Как это не претендует:
Цитата

Mono Feature Highlights
Microsoft Compatible API
Run ASP.NET, ADO.NET, and Windows.Forms 2.0 applications without recompilation

А вот так это. Слой совместимости с Microsoft API не означает полной совместимости, она и невозможна даже теоретически пока исходники Windows не станут Open Source. Если тебя интересует это второстепенное направление, то пользуйся http://www.mono-project.com/MoMA для выявления не реализованных функций.


Цитата(kamre @  11.5.2009,  21:19 Найти цитируемый пост)
Меня конкретно интересует векторная 2D графика со сглаживанием.
Ну если только 2D, то пользуйся http://www.mono-project.com/Mono.Cairo - это очень похожая по API на GDI+ штука, но работает через разные бэкенды(может и через OpenGL), а не через WinAPI`шную GdiPlus.dll.

Добавлено через 1 минуту и 9 секунд
Ch0bits опередил, хитрюга  smile 

Автор: kamre 11.5.2009, 22:11
Цитата(Ch0bits @ 11.5.2009,  21:58)
Mono Cairo library

Так оно вроде и так используется в линуксовой реализации System.Drawing в Mono:
user posted image
Именно этот pipeline рисует криво и тормозит в линуксе.

Автор: kamre 11.5.2009, 22:28
Цитата(source777 @ 11.5.2009,  22:06)
Цитата(kamre @  11.5.2009,  21:19 Найти цитируемый пост)
А сами по себе OpenGL/DirectX слишком низкоуровневые для отрисовки векторной графики
С чего это вдруг?


Потому что нужен выскоуровневый API для отрисовки вроде System.Drawing.Graphics или http://doc.trolltech.com/4.5/qpainter.html. Кроме того нужно качественное сглаживание и субпиксельная точность при отрисовке. И это очень нетривиальная задача, которая так просто на низкоуровневом OpenGL не решается: http://homepage.mac.com/arekkusu/bugs/invariance/HWAA.html 

Цитата(source777 @ 11.5.2009,  22:06)

А вот так это. Слой совместимости с Microsoft API не означает полной совместимости, она и невозможна даже теоретически пока исходники Windows не станут Open Source. 

Ну уж отрисовка то векторной графики достаточно точно описывается и Qt/Java2D/.NET рендерят эти шестеренки практически с точностью до пикселей (только сглаживание немного разное у всех). А вот в Mono через System.Drawing.Graphics получается совсем не то, что ожидается и Microsoft не виноват.

Цитата(source777 @ 11.5.2009,  22:06)
Ну если только 2D, то пользуйся http://www.mono-project.com/Mono.Cairo - это очень похожая по API на GDI+ штука, но работает через разные бэкенды(может и через OpenGL), а не через WinAPI`шную GdiPlus.dll.

Mono.Cairo и используется в линуксовой реализации System.Drawing.

Автор: source777 11.5.2009, 22:31
Ты читать то умеешь? http://www.mono-project.com/Drawing же тебе чёрным по белому английским языком написано, что означает этот рисунок: 
Цитата

Mono provides two mechanism to draw. The first exposes the Microsoft System.Drawing API (libgdiplus.so) and the second exposes the Cairo API


Ты в этой теме активно гонишь на libgdiplus.so, а к Mono.Cairo она никакого отношения не имеет.

Цитата(kamre @  11.5.2009,  22:28 Найти цитируемый пост)
Mono.Cairo и используется в линуксовой реализации System.Drawing. 
Послать тебя что-ли на поиски пруфлинка, чтобы ты недельку по инету полазил... 

Автор: kamre 11.5.2009, 22:34
Цитата(source777 @ 11.5.2009,  22:31)
Ты в этой теме активно гонишь на libgdiplus.so, а к Cairo она никакого отношения не имеет.

Как это не имеет? libgdiplus.so реализован поверх Cairo (не Mono.Cairo).
Хотя можно еще попробовать напрямую использовать bindings к Cairo, только вот есть ли они к .NET (не Mono)?

Добавлено через 8 минут и 39 секунд
Да, ошибся немного. На самом деле там так: System.Drawing.Graphics => libgdiplus => Cairo. Т.е. получается разработчики libgdiplus настолько сумели испортить Cairo, что оно тормозит и криво рисует.

Автор: source777 11.5.2009, 22:49
Цитата(kamre @  11.5.2009,  22:34 Найти цитируемый пост)
Как это не имеет? libgdiplus.so реализован поверх Cairo (не Mono.Cairo).

В том сообщении я имел в виду именно Mono.Cairo, так что поправил.

Цитата(kamre @  11.5.2009,  22:34 Найти цитируемый пост)
Т.е. получается разработчики libgdiplus настолько сумели испортить Cairo, что оно тормозит и криво рисует.
Они его переделали под MS API, к тому же "использует" не значит, что там уже всё 1 в 1 было, что есть в GdiPlus.dll, подходы то всё-таки разные.

В общем попробуй Mono.Cairo с бекэндом OpenGL, проблем остаться не должно.

Добавлено через 7 минут и 31 секунду
P.S. Впрочем, рисование часиков, да и вообще графика, - это далеко не основное применение .NET`a
А с основными применениями Mono справляется весьма хорошо, так что, я уверен, не стоит ругать такой замечательный проект за 10% несовместимости с .NET и за небольшое отставание от него по некоторым сопутствующим технологиям.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)