小试多核技术

昨日A项目经理跟谈起多核技术,说对引擎来说也许有一定效果,实际上引擎加入多核支持早在年初的一次引擎开发评审中韩国技术总监就提出过这样的意见,我原打算放在引擎开发后期再去实现。今天翻了一下 OpenMP 相关的知识,决定小试一下,测试结果还令人满意。我只是测试了引擎的例子系统更新部分,在 Core2 6750 CPU 上更新 4k 个粒子有接近 200 fps 的提升,由于其它开发人员的机器并不是物理双核,是逻辑双核(及超线程技术),我以为 OpenMP 对逻辑双核无用,结果运行发现还是有一定作用,看来我对超线程有认识上的误区。不过提升幅度并不大,4k 粒子更新只有 10 fps 左右的提升,并且两个逻辑核心都几乎是满负荷运行,而物理双核却只有 30% 左右的负荷。不论怎样,使用 OpenMP 多核技术确实对引擎运行效率有提升,而且现在大部分的计算机中即使不是多核也基本上是超线程,所以使用多核应该没有太大问题。不过在测试中我也发现 OpenMP 的缺陷,它对运算结果没有相互依赖的并行计算支持很好,但是如果有依赖关系,就要更改代码的实现方式,这会造成最终发布应用程序上的差别,所以多核技术还需要成熟,最好不要给程序员带来代码实现上的限制,vs2008 即将推出,希望在支持多核开发上有更大的改进,使多核技术在应用上更加成熟、方便。
Advertisements
此条目发表在DreamEngine 3D 图形引擎开发分类目录。将固定链接加入收藏夹。

One Response to 小试多核技术

  1. liu说道:

    哈哈,太深奥了,对你谈的这些一点概念都没有,真是不容易啊。你宝贝姑娘的照片我看到了,超可爱!!!

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  更改 )

Google+ photo

You are commenting using your Google+ account. Log Out /  更改 )

Twitter picture

You are commenting using your Twitter account. Log Out /  更改 )

Facebook photo

You are commenting using your Facebook account. Log Out /  更改 )

w

Connecting to %s