在.NET框架中,为什么有PointF(float)而没有"PointD"(double)?

Fue*_*led 12 .net floating-point double graphics system.drawing

谁能解释为什么在.NET框架中有PointF结构(使用单精度float类型)而没有"PointD"(使用双精度double类型)?

他们是否确定在System.Drawing命名空间中这样的精度永远不会有意义?还有其他原因吗?

cod*_*zen 20

在开发GDI +(System.Drawing基于此技术)的时候,硬件远不及今天的性能和功能,而Double基于a 的坐标系统会给硬件带来沉重的负担,而且对显示器的好处很小 -结束,显示器具有他们所做的尺寸和分辨率.即使使用今天的怪物显卡,我们今年也只能看到具有可接受性能的双精度浮点运算能力,而这些仍然是单精度运算速度的1/2.因此,使用Single类型来模拟图形操作是一种实用性的选择.

今天,通过WPF,我们有一个平台,从开始着眼于未来十年或二十年,因此使用Double模拟坐标系是有意义的.

  • 我真的很喜欢你在这个答案中给出的解释.过去,现在和未来,涵盖! (2认同)