opengl或directX环境下3D游戏开发经验谈(21)

时间:2025-04-20

一个游戏开发者畅谈6年3D游戏开发的相关经验

指令就是 EAX = EAX + EBX。这个过程只有一个数据流相加。 而SIMD思想是,如果现在有2个指令

ADD EAX,EBX

ADD ECX,EDX

能不能让他们一起执行?所以SIMD 指令提供这样的功能,他用很大的寄存器,前一部分装EAX值,后一部分装ECX值,再用一个寄存器,前一部分装EBX,后一部分装EDX.

SIMD 寄存器分成2部分[1部分][2部分]

SIMD ADD 指令 积存器1 ,积存器2

运算过程为 寄存器1 [1部分] = 寄存器1 [1部分] + 寄存器2 [1部分] ;

寄存器1 [2部分] = 寄存器1 [2部分] + 寄存器2 [2部分] ;

这2个运行是在一个SIMD积寄存器用硬件来执行ADD 同时运行的。

这里只是说了SIMD思想,现在简单介绍下 MMX,SSE,SSE2。

MMX寄存器是32位的,所以它可以执行4个8bit数据同时运算,也可以执行2个16bit数据同时运算,具体要看使用哪个指令,在早期没有SSE 指令时,就用MMX,但MMX有缺点,它和FPU(浮点运算单元,专门执行浮点数运算)共用同样寄存

opengl或directX环境下3D游戏开发经验谈(21).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219