具有非常小的浮点数的滞后?

时间:2013-08-26 19:05:10

标签: performance floating-point numbers lag

因此,我使用XNA进行了简单的流体动力学模拟,并且我得到了非常准确的类波行为。但是当波浪变得越来越小,并且在某些时候达到-4.0E-43和更小的振幅时,应用程序开始出现可怕的延迟。 c#会切换到某种愚蠢的舍入算法吗?我没有观察到任何NaN,我没有任何例外。哦,模拟循环在一个单独的线程中运行。

1 个答案:

答案 0 :(得分:0)

C#不是罪魁祸首。 Denormal numbers是。{/ p>

这些是幅度在0到2之间的数字 -126 (1.175494351e-38),它们没有以标准(或“正常”)浮点格式存储。事实上,它们实际上存储为固定点数,乘数为2 -149

因为它们很少并且需要不同的算法,所以涉及非正规数的操作的优化程度与正常操作相同,如果有的话。