游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4663|回复: 7

求助:VC6.0如何支持SSE2内嵌汇编

[复制链接]

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2008-7-20 22:35:00 | 显示全部楼层 |阅读模式
因为要用SSE2做加速,但发现VC6.0,SP6,居然不支持SSE2

求各位高手的解决方案

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2008-7-20 22:47:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

使用sse指令的汇编二进制编码来写试试。

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-7-20 22:48:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

以前的一直用的MMX,但现在游戏要用32位色,MMX几乎没有加速效果

与纯C++版本相比只有10%的提升

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-7-20 22:49:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

使用sse指令的汇编二进制编码来写试试。

详细说说

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20737
发表于 2008-7-20 23:15:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

MMX只是提供多个值同时运算的能力,如果你的算法没办法通过并行计算,且数据没有根据要求来送入寄存器的话,MMX指令是没有效果的,反而会降低运行效率。

SSE指令我是不懂,没写过SSE指令类的代码,现在这类优化一般都交给编译器进行了,只是VC6恐怕没办法做到,可以尝试下新版本的IDE看看。

楼主的问题,我只是记得我们VC的内嵌汇编可以通过直接写入汇编的二进制码来进行编写,主要是针对那些编译器不认得的新指令,或者某些特定的硬件编码,关键字好像是“_emit”,可以去查查相关的资料。

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-7-20 23:41:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

我要用SSE2来做并行处理,如果能搞定的话,应该会有接近1倍的速度提升

相比编译器,我更相信自己的汇编能力

1

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
 楼主| 发表于 2008-7-21 15:18:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

已经解决,结贴

0

主题

37

帖子

41

积分

注册会员

Rank: 2

积分
41
发表于 2008-7-22 22:35:00 | 显示全部楼层

Re:求助:VC6.0如何支持SSE2内嵌汇编

LZ怎么解决的,偶是个新手想学习学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-21 22:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表