游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2709|回复: 3

[求助]一个线程渲染一个线程管理资源怎么做?

[复制链接]

3

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2012-2-28 11:53:00 | 显示全部楼层 |阅读模式
需要用一个线程渲染一个线程管理资源,加载资源的时候要保持渲染的帧数;互斥锁,关键区,信号量用什么比较好?另外在加载模型之后,加载线程需要让出一定时间片渲染,用什么方法让出?Suspend?Sleep?
多线程老是出现意料不到的错误,真是太让人崩溃了。 [em6]
求高人指点。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2012-2-28 23:52:00 | 显示全部楼层

Re:[求助]一个线程渲染一个线程管理资源怎么做?

多线程是很蛋疼的设计。 互斥就可以把。

3

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2012-3-1 05:00:00 | 显示全部楼层

Re:[求助]一个线程渲染一个线程管理资源怎么做?

站长光临,蓬荜生辉啊……
只是做个Demo,但是地图的格式存储了关联地图的信息。总觉得不读不爽。看到有人用postthreadmessage发送读取请求,渲染线程响应Timer;觉得效果还行,可以某种程度上保持帧速(不至于loading的时候就转不动摄像头)。但是问题是loading的速度如果小于1s处理一个请求就会死锁,导致load的速度很慢,本来一次读3-4s就可以,搞到几十秒都读不完。另外就是不知道为什么,读取线程没有办法原子操作,用waitforsingleobjece会死锁,用critalregion会出现内存错误,不知道是不是wxWidget和c混用的原因。
求正确的解决方案。

0

主题

15

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2012-5-14 20:44:00 | 显示全部楼层

Re:[求助]一个线程渲染一个线程管理资源怎么做?

临界区
Sleep

资源加载线程,应当设计为事件模式(WaitForXXObject),等待事件产生才执行加载(你不会一直不停加载吧?)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-28 12:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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