zoukankan      html  css  js  c++  java
  • 初步完成了对于多线程地图载入的试验

         后台线程地图载入测试十分成功,目前只测试了地形的后台线程加载,比想象中的顺利和容易的多基本就是主线程将目前所处地形快周围的9个地形块的载入命令放入一个命令队列,而后台加载线程每隔50毫秒去从这个队列中取需要Load哪些地图块,当然队列需要加Mutex锁。然后Load线程会从已载入列表中搜索该块是否已经被载入 如果已经在载入列表中就不做任何处理,否则从空闲的区域块中取一块,如果空闲的区域快已经不存在了那么需要淘汰一块目前已经载入的地图块淘汰策略可以定制目前按和当前地形块最远的那块作为淘汰块。注意空闲的区域块个数是可以配置的目前按照最小需要个数也就是9个来测试,测试下速度基本不受后台加载线程的影响。当然目前只载入了地形以后载入模型可能会稍有速度影响不过估计问题不大 ,主要要注意主线程和加载线程的责任要明确 主线程就是负责渲染,以及发送需要加载的命令而所有得加载工作必须都在加载线程完成,否则如果主线程也参与了加载就会增加同步操作的开销和复杂性
  • 相关阅读:
    公共服务领域英文译写规范
    [.NET Core]
    [WebAPI]
    [C#]
    [ES]
    [.Net Core]
    [SourceTree]
    如何使用一个库中不存在的函数
    在使用masm32 rc编译资源文件.rc出现的问题
    MSDN 2005 安装问题
  • 原文地址:https://www.cnblogs.com/fishboy82/p/1380090.html
Copyright © 2011-2022 走看看