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

         后台线程地图载入测试十分成功,目前只测试了地形的后台线程加载,比想象中的顺利和容易的多基本就是主线程将目前所处地形快周围的9个地形块的载入命令放入一个命令队列,而后台加载线程每隔50毫秒去从这个队列中取需要Load哪些地图块,当然队列需要加Mutex锁。然后Load线程会从已载入列表中搜索该块是否已经被载入 如果已经在载入列表中就不做任何处理,否则从空闲的区域块中取一块,如果空闲的区域快已经不存在了那么需要淘汰一块目前已经载入的地图块淘汰策略可以定制目前按和当前地形块最远的那块作为淘汰块。注意空闲的区域块个数是可以配置的目前按照最小需要个数也就是9个来测试,测试下速度基本不受后台加载线程的影响。当然目前只载入了地形以后载入模型可能会稍有速度影响不过估计问题不大 ,主要要注意主线程和加载线程的责任要明确 主线程就是负责渲染,以及发送需要加载的命令而所有得加载工作必须都在加载线程完成,否则如果主线程也参与了加载就会增加同步操作的开销和复杂性
  • 相关阅读:
    ADO.NET 根据实体类自动生成添加修改语句仅限Oracle使用
    C# 实体对象作为参数统一去除空格
    jQuery 前端复选框 全选 反选 下拉菜单联动
    C# 后台服务器端 Get 请求函数封装
    服务器404错误页面
    vue 封装公用函数
    Vue 生命周期
    Oracle 查看表结构
    ubuntu源配置
    外观(Facade)模式
  • 原文地址:https://www.cnblogs.com/fishboy82/p/1380090.html
Copyright © 2011-2022 走看看