Dot-Net
在.NET框架中,為什麼有PointF(float)而沒有“PointD”(double)?
誰能解釋為什麼在.NET 框架中有
PointF結構(使用單精度float類型)而沒有“PointD”(使用雙精度double類型)?他們是否確定這樣的精度在 System.Drawing 命名空間中永遠不會有意義?還有其他原因嗎?
在開發 GDI+(
System.Drawing基於的技術)的時候,硬體的性能和能力遠不及今天,Double基於座標系會給硬體帶來沉重的負擔,而對顯示器的好處卻很少。最後,顯示器具有它們所做的尺寸和解析度。即使使用今天的怪物顯卡,我們也只是在今年看到能夠進行具有可接受性能的雙精度浮點運算,這些仍然是單精度運算速度的 1/2。因此,使用Single類型對圖形操作進行建模是一種實用性的選擇。今天,有了 WPF,我們有了一個著眼於未來十年或兩年的平台,因此使用
Double座標系建模是有意義的。