游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5682|回复: 14

(求助)游戏中的多线程

[复制链接]

18

主题

58

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-9-14 22:21:00 | 显示全部楼层 |阅读模式
我做了个小游戏,但是我发现一个很明显的问题,我在按键攻击的时候,可以很明显的感觉到敌人的移动会减慢,我在想这个是不是因为我在处理 游戏循环 的时候是先处理了玩家的输入然后在处理敌人的移动的原因,所以这样会导致每次处理玩家的输入的时间过于频繁才出现这个现象的。。。。。
  我想了个办法,可以使用多线程来分开处理玩家输入和敌人的移动,我想这样就可以处理这个问题了,但是这样做有个缺陷,因为我在有个地方看见过这样的一个忠告“智能指针不易在多线程中使用”(这样会造成引用记数的混乱),而且在WINDOW程序设计中是说的不到必须的时候就不要使用多线程,这样会给程序引来麻烦///////////////  所以我想问问大家在游戏的输入处理(就是在处理玩家和敌人的移动的时候)时真的一定要使用多线程技术吗,如果不需要可以怎么做,最好是给出点代码,或者告诉我哪里可以找到我需要的答案。。。。。。。。。(给我说说在设计游戏的这个问题时的一般的输入方法)谢谢大家了。。。。。。。。。   [em3]

18

主题

58

帖子

132

积分

注册会员

Rank: 2

积分
132
 楼主| 发表于 2008-9-14 22:44:00 | 显示全部楼层

Re:(求助)游戏中的多线程

我是说最好可以,不使用多线程和使用都给出一个方法,这样是最好的,谢谢大家了。。。。。。。

2

主题

683

帖子

687

积分

高级会员

Rank: 4

积分
687
发表于 2008-9-15 06:01:00 | 显示全部楼层

Re:(求助)游戏中的多线程

我的感觉是你的处理效率太低
否则,以现在的计算机,写个demo,不至于的。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2008-9-15 09:27:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

18

主题

58

帖子

132

积分

注册会员

Rank: 2

积分
132
 楼主| 发表于 2008-9-15 12:13:00 | 显示全部楼层

Re:(求助)游戏中的多线程

我用的是GetKeyboardState() 来处理键盘的输入,是不是这个原因啊,另外我自己做了个模板链表,我的类框架里用了几个虚函数(这个应该不是什么问题吧),还有怎么利用线程来处理啊

18

主题

58

帖子

132

积分

注册会员

Rank: 2

积分
132
 楼主| 发表于 2008-9-15 12:29:00 | 显示全部楼层

Re:(求助)游戏中的多线程

哦,它是只有在按键的时候敌人的移动才会减慢的,是因为键盘处理的原因吗,应该用这个吗  GetAsyncKeyState()  谢谢。。。

201

主题

1437

帖子

1963

积分

金牌会员

Rank: 6Rank: 6

积分
1963
QQ
发表于 2008-9-18 20:35:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

35

主题

141

帖子

157

积分

注册会员

Rank: 2

积分
157
发表于 2008-9-19 20:49:00 | 显示全部楼层

Re:(求助)游戏中的多线程

呵呵,对不起,最近在忙,等我改好了再传上来请大家帮我看看,还有些什么问题吧

17

主题

282

帖子

436

积分

中级会员

Rank: 3Rank: 3

积分
436
发表于 2008-9-23 13:55:00 | 显示全部楼层

Re:(求助)游戏中的多线程

用Directx input来接收键盘消息会好点

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2008-9-24 11:53:00 | 显示全部楼层

Re:(求助)游戏中的多线程

绝对不至于因为这个东西而启用多线程。

多线程会导致整个游戏结构设计难度增加很多,线程间的同步有时候会非常令人头疼。

一般只在绝对有可能引起阻塞而且无法避免的情况下才启用多线程,比如网络通讯中一些会引起阻塞的调用。

你说按键导致速度变慢几乎可以肯定是其它方面的原因,再仔细调试下吧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 04:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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