我有一个应用程序具有一些使用GDI +的控件,大多数简单的东西具有低图形渲染要求,虽然我确实有一些动画GDI +窗口由于GDI +性能不佳而可用。前进我想开始使用WPF(用于性能和学习WPF),但我也想保持代码与Mono兼容。因此,我想知道是否应该或可以开发使用Silverlight(Mono中的Moonlight)。这样我得到一些WPF技能(我承认Silverlight是WPF的一个子集?)和良好的性能。Mono兼容应用程序的图形框架选择
回答
Silverlight确实是WPF的一个子集,虽然有相当多的细节工作不同。 Moonlight目前与Silverlight 2.0兼容,但微软现在使用Silverlight 4.0。 Moonlight可能总是远远落后于Silverlight,甚至比WPF落后。但如果你能忍受,月光可能是一个不错的选择。但是,如果您可能看不到任何性能提升,因为Mono正在使用Cairo渲染GDI +和Moonlight。 我也希望Mono的GDI +实现比Moonlight的低级渲染API更成熟。
对于任何类型的图形和动画,Silverlight/Moonlight是一个更好的选择。 GDI +比较陈旧,Mono的实现主要是为了支持Winforms,这意味着它不会变得更好。 OTOH,虽然表面上都使用开罗(就像之前的海报中提到的那样),这就好像在说两种渲染文本 - 是的,但是这就是比较停止的地方。月光是快速渲染的目标,你可以获得矢量动画,你可以尽可能为图形芯片提供硬件支持,因为它确实需要快速,它需要支持具有实时渲染效果,2D和3D等的视频。可能是这样的它还没有达到最新的Silverlight版本的水平,但这并不意味着它不会做你已经需要的东西。如果你有选择的话,那么你可以选择正在积极开展工作的新技术,而不是陈旧的技术。
使用System.Drawing提供的GDI +指令的C#代码目前在使用Mono的Linux上不兼容。
A null reference or invalid value was found [GDI+ status: InvalidParameter]
AFAIK没有人能够解决这个错误。
你是什么意思?我有使用System.Drawing编译为VS 4上的.NET 4的C#代码,并且它在Mono中完美运行。 – 2011-12-31 13:52:18
嗡嗡声,你的意思是你从源代码编译的System.Drawing? – 2012-01-01 18:59:28
不,我的意思是我的代码是在VS 2010下为.NET 4编译的,它使用System.Drawing命名空间来绘制用户控件。 – 2012-01-01 19:28:38
- 1. 纯Python Web应用程序框架兼容2.4.3
- 2. 框架兼容性
- 3. 应用程序不兼容
- 4. netcore.app - 不兼容的框架
- 5. 构建巨大的单页应用程序,框架选择等
- 6. 选择.NET框架使用Visual Studio应用程序
- 7. 应用程序需要4.0版完全或其它兼容的.NET框架
- 8. 日志框架不兼容
- 9. JavaScript框架IE6兼容性
- 10. 为应用程序和网站选择框架
- 11. 为Java应用程序选择框架工作
- 12. 适用于Linux的Mono兼容CMS
- 13. Android应用程序的兼容性
- 14. 与iPad兼容的iPhone应用程序
- 15. iphone上的应用程序兼容性
- 16. Android应用程序的兼容性
- 17. 程序包'Microsoft.EntityFrameworkCore.SqlServer'与项目中的'all'框架不兼容
- 18. 为Facebook应用程序选择图形API或旧的REST API
- 19. GUI Java应用程序与Win7兼容,但与Win10不兼容
- 20. Web应用程序框架
- 21. Web应用程序框架?
- 22. Facebook应用程序框架
- 23. 黑莓应用程序兼容性7.1
- 24. 不兼容Windows窗体应用程序
- 25. 分发应用程序兼容iOS 3.0 +
- 26. iPhone应用程序兼容性
- 27. IOS3兼容应用程序在IOS4 Mutlitasking
- 28. PB 10应用程序Windows 10兼容
- 29. Ipod应用程序兼容性
- 30. iPhone应用程序大小兼容性
你期待我们回答什么?你似乎知道你想做什么! – lexu 2010-05-11 10:30:43