游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1392|回复: 1

请教多动画对FPS的影响

[复制链接]

9

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2009-10-22 15:20:00 | 显示全部楼层 |阅读模式
我在一个小游戏里是用同一个x动画文件(DX SDK里的tiny动画文件),产生多个人物。我是这样做的,使用一个ModelManager类将动画文件加载,保存原始Mesh信息,然后每个人物Model类实例中独自拷贝一份骨骼动画,独立进行骨骼动画运算,在render()的时候Model类根据自己的骨骼信息,对ModelManager里的原始Mesh进行蒙皮运算,之后将运算后的Mesh画出来。
这样有一个问题,当我的人物太多是,在蒙皮运算的过程占用很多时间,导致FPS下降很多。
在DX SDK里的multiAnimation例子中,不管创建的人物实例有多少,都不会对FPS产生影响,里面采用了什么方法?当然,我正打算好好地研究里面的代码,但是如果有了解的人能指点一下,会让我阅读代码的时候更有效率。所以请大家不吝赐教!谢谢!

3

主题

67

帖子

111

积分

注册会员

Rank: 2

积分
111
发表于 2009-11-2 18:00:00 | 显示全部楼层

Re:请教多动画对FPS的影响

蒙皮放在GPU中做,骨架运算也可以多个角色公用一个动画播放进度,这样一来,cpu计算可以省很多,而且可以运用geometry instance……
如果游戏里一个角色用了多个模型,单个模型的dp次数基本上不可能减下去,不用想了。
不管创建的人物实例有多少,fps从来不掉?呵呵,不可能吧~~
骨骼动画是很难优化的东西,重点可以放在优化cpu上,shader算蒙皮再慢也慢不到哪去……宁愿让gpu忙得不行,也要把cpu负载降下来。
不过最重要的还是要看你的骨骼动画运算的瓶颈在哪,可以用vtune测一下。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-18 09:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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