游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2896|回复: 4

为什么DX9.0同一个例子用C#编写比用C++执行效率快???

[复制链接]

211

主题

314

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2004-8-10 16:32:00 | 显示全部楼层 |阅读模式
我下了个DX9.0自己带的例子发现同一个例子VC++编的是800FPS C#编的是890FPS

30

主题

276

帖子

276

积分

中级会员

Rank: 3Rank: 3

积分
276
发表于 2004-8-10 19:39:00 | 显示全部楼层

Re:为什么DX9.0同一个例子用C#编写比用C++执行效率快???

看这里
http://bbs.gameres.com/showthread.asp?threadid=10830

37

主题

378

帖子

388

积分

中级会员

Rank: 3Rank: 3

积分
388
QQ
发表于 2004-8-10 20:44:00 | 显示全部楼层

Re:为什么DX9.0同一个例子用C#编写比用C++执行效率快???

看来C++是结束了……

54

主题

2917

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2004-8-11 12:38:00 | 显示全部楼层

Re: Re:为什么DX9.0同一个例子用C#编写比用C++执行效率快?

hWnd: Re:为什么DX9.0同一个例子用C#编写比用C++执行效率快???

看来C++是结束了……


现在有哪个大作游戏是用C#开发的?
至于表现速度很可能是微软耍的花活儿(他就喜欢别人都拜倒在他脚下“垄断癖”),就象X模型文件一样,能告诉我有哪个人气大作游戏使用X模型文件。

[em20] [em20] [em20] [em12]

41

主题

340

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2004-8-11 13:43:00 | 显示全部楼层

Re:为什么DX9.0同一个例子用C#编写比用C++执行效率快???

大家一直认为C#编译生成的字节码程序在运行时应该比C++生成的本机代码程序要慢。其实C#生成的字节码程序在运行时会根据机器的硬件和软件情况,实时优化编译生成一个本机代码程序。然后真正运行的才是这个经过"实时优化编译"的本机代码程序。每次运行时如果运行环境没有变化,就直接运行该本机代码程序。如果有变化就再"实时优化编译"一次。所以运行第一次运行C#程序时感觉启动时间要长一些的原因。第二次运行就不会有这中感觉了。而C++编译生成的本机代码程序,则没有这个"实时优化"的编译过程,何况为了考虑兼容性,编译时的许多优化选项也不会打开,运行起来当然要慢一些。这种情况在性能比较好的机器上比较明显。
到明年langhorn发布后(langhorn的底层都是由C#编写的),这样的情况更多了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-16 13:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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