我正在使用JS在Canvas中编写一个简短的演示程序,它的运行速度并不像应该的那样顺畅,主要是因为涉及到很多正弦和余弦。
我需要进行这些计算才能将内容绘制到屏幕上。问题是,我不需要7个小数来知道一个像素位置(两个已经是矫枉过正),所以我想如果我可以将浮点运算限制在两个小数位,它可能运行得更快一些。 ¿甚至可能吗?
答案 0 :(得分:0)
如果你坚持使用整数,你可以更快地绘制。例如,您可以draw a circle使用基于整数的算法。
答案 1 :(得分:0)
无法修改浮点类型的精度:它们由硬件(通常是语言标准)修复。在另一种语言中,您可以使用较低精度的类型(例如,在C中,您可以使用float
而不是double
),但这在JavaScript中是不可能的,因为所有数字都是如此是双打。
您可以做的是使用更快的近似正弦函数。通常,sin / cos函数包含两个步骤: