» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 22 12
发新话题
打印

[求助] 我也想问一个科学问题 古代3d游戏的颤抖病是怎么回事

posted by wap, platform: iPod (iTouch)
引用:
原帖由 @hourousha  于 2012-2-20 08:12 发表
定点在那个年代是很正常的嘛,比PS晚挺久的N64的RSP不也是8wayFX16SIMD么,不过区别是RSP可编程(说起来GTE也不能算Fixed function TnL。但显然RSP可编程性比GTE要高),所以可以用定点来模拟浮点运算,当然代价可想 ...
哦,这样!但是旋转之类的矩阵运算似乎是固定3/12的吧。最近在用cortex m4写3d引擎,也准备这样用,这样可以simd。汇编程序写下来估计坐标变换可以比用fpu快20%.有点蛋疼的提高。。。


TOP

ue3引擎做的游戏有些尸体会抖。。。



TOP

引用:
原帖由 zafm0861 于 2012-2-20 19:46 发表
ue3引擎做的游戏有些尸体会抖。。。
这个抖是因为物理引擎,计算约束方程迭代次数有限造成的,和楼主的那种抖原因不一样。


TOP

引用:
原帖由 zenodante 于 2012-2-20 19:32 发表
posted by wap, platform: iPod (iTouch)
哦,这样!但是旋转之类的矩阵运算似乎是固定3/12的吧。最近在用cortex m4写3d引擎,也准备这样用,这样可以simd。汇编程序写下来估计坐标变换可以比用fpu快20%.有点蛋疼的 ...
GTE在坐标变换运算过程中精度是1.31.12
另外关于性能,如果simd化只是提升20%性能,但代价却是由浮点(单精度或半精度)下降为FX16然后还得依赖汇编,个人觉得不值。定点数的动态范围太低了,尤其是FX16。另外我是不太清楚您是如何应用SIMD的,按理说使用正确(也就是SoA形式)的话应该不止这点提升才对。

TOP

这帖子的回复好深奥

TOP

posted by wap, platform: iPod (iTouch)

主要指令都用在读写sram和数据打包上了.所以我现在中途改用浮点了,存顶点用半精度,运算用单精度

TOP

问下老师DS的浮点精度和N64一样还是更差一些

TOP

 22 12
发新话题
     
官方公众号及微博