性能
手持 PC 的 CPU 的功能确实通常要比标准 PC 的 CPU 差很多。繁重的计算可能使手持设备的响应速度降低,从而可能使用户变得不胜其烦。换句话说,性能对于手持设备软件而言至关重要。因此,在重大场合下使用 XrossOne Mobile GDI+ 之前,您可能希望分析它的总体性能。因为 GDI+ 中大多数对应于 .NET Compact Framework 的等效函数都不可用,所以基准测试是针对 .NET Framework 在 XrossOne Mobile GDI+ 和 GDI+ 之间进行的。测试是在下列类别中执行的:矢量图形呈现、二维变换和渐变填充。测试方案在相同的条件下执行。您可以在下载软件包中找到基准测试程序,并且可以在 http://www.xrossone.com/projects.PHP?menu=4 快速查看它们的图形输出。
XrossOne Mobile GDI+ 完全是用 C# 托管代码编写的,它的总体性能可以接受(参见下表),尽管二维变换和渐变填充需要在以后的版本中进一步优化。
方案
XrossOne Mobile GDI+
GDI+ for .NET Framework
系统开销
DrawLine
2.604 ms
0.901 ms
189.0%
DrawRect
3.705 ms
1.602 ms
131.3%
DrawPolygon
3.205 ms
1.502 ms
113.4%
DrawEllipse
6.409 ms
2.403 ms
166.7%
DrawBezier
3.505 ms
1.602 ms
118.8%
DrawCurve
4.006 ms
1.402 ms
185.7%
DrawPie
6.810 ms
2.003 ms
240.0%
TranslateTransform
10.615 ms
3.405 ms
211.7%
ScaleTransform
4.106 ms
0.801 ms
412.6%
RotateTransform
7.811 ms
1.803 ms
333.2%
LinearGradient (1)
9.013 ms
2.103 ms
328.6%
LinearGradient (2)
8.012 ms
1.803 ms
344.4%
缺少的功能
在上述部分中,我们已经演示了 XrossOne Mobile GDI+ 的一些令人兴奋的功能。但是,该版本中仍然缺少一些功能:
" 文本输出
" 光栅输出
" 虚线样式支持
" HatchBrush、PathGradiantBrush、TextureBrush
" Pen.CustomStartCap、Pen.CustomEndCap
小结
我们相信 XrossOne Mobile GDI+ 可以帮助 .NET Compact Framework 开发人员创建更加引人注目的图形接口。考虑到它的小内存足迹 (72kb),它的功能已经相当丰富了。而且,它的性能对于一般应用程序而言已经足够了。此外,多亏它的纯粹托管代码设计,XrossOne GDI+ 是一个跨平台、跨设备的二维图形引擎。

