fish的小屋

fish的小屋

导航

初步完成了对于多线程地图载入的试验

     后台线程地图载入测试十分成功,目前只测试了地形的后台线程加载,比想象中的顺利和容易的多基本就是主线程将目前所处地形快周围的9个地形块的载入命令放入一个命令队列,而后台加载线程每隔50毫秒去从这个队列中取需要Load哪些地图块,当然队列需要加Mutex锁。然后Load线程会从已载入列表中搜索该块是否已经被载入 如果已经在载入列表中就不做任何处理,否则从空闲的区域块中取一块,如果空闲的区域快已经不存在了那么需要淘汰一块目前已经载入的地图块淘汰策略可以定制目前按和当前地形块最远的那块作为淘汰块。注意空闲的区域块个数是可以配置的目前按照最小需要个数也就是9个来测试,测试下速度基本不受后台加载线程的影响。当然目前只载入了地形以后载入模型可能会稍有速度影响不过估计问题不大 ,主要要注意主线程和加载线程的责任要明确 主线程就是负责渲染,以及发送需要加载的命令而所有得加载工作必须都在加载线程完成,否则如果主线程也参与了加载就会增加同步操作的开销和复杂性

posted on 2009-01-22 22:12  fish.shadow song(若愚.影歌)  阅读(273)  评论(0编辑  收藏  举报