计算机与现代化

• 算法分析与设计 • 上一篇    下一篇

大规模虚拟地形数据多线程异步调度算法

  

  1. (1.中车青岛四方机车车辆股份有限公司国家高速动车组总成工程技术研究中心,山东青岛266111;
    2.中国海洋大学信息科学与工程学院,山东青岛266100)
  • 收稿日期:2017-06-05 出版日期:2018-03-08 发布日期:2018-03-09
  • 作者简介:任子健(1989-),男,山西忻州人,中车青岛四方机车车辆股份有限公司国家高速动车组总成工程技术研究中心工程师,博士,研究方向:虚拟现实,智能制造; 陈璐(1988-),女,山东泰安人,中国海洋大学信息科学与工程学院博士研究生,研究方向:虚拟现实,计算机图形学。

A Multi-thread Asynchronous Dispatch Algorithm for Large-scale Virtual Terrain Data

  1. (1. National Engineering Research Center for High-speed EMU, CRRC Qingdao Sifang Co. Ltd., Qingdao 266111, China;
    2. College of Information Science and Engineering, Ocean University of China, Qingdao 266100, China)
  • Received:2017-06-05 Online:2018-03-08 Published:2018-03-09

摘要: 为了实现大规模虚拟地形环境的实时绘制,提出一种海量地形数据实时调度算法。本文算法基于传统四叉树结构对地形数据进行组织和索引。在此基础上,运用Hilbert填充曲线对数据进行存储优化。然后设计基于I/O完成端口(I/O Completion Port,IOCP)的异步机制,结合多线程技术实现了I/O操作及数据加卸载的合理运作。最后,选取单线程同步I/O算法与本文算法进行实验对比。结果表明,本文算法具有高效的数据调度性能,可以满足大规模地形实时绘制的需求。

关键词: 虚拟地形环境, 金字塔模型, 异步调度, 线程池, I/O完成端口

Abstract: A real-time dispatching algorithm for massive terrain data is proposed, in order to implement large-scale terrain rendering. On the basis of traditional quadtree model, the algorithm is used to make further organization and index for the data. Based on this, high performance spatial querying is archived by the use of Hilbert storage indexing algorithms. And then, an asynchronous dispatch mechanism is designed based on I/O Completion Port (IOCP) and multi-threaded technology for optimally I/O operations, data loading and unloading. Finally, we carry out a comparative analysis by the use of the algorithm and single thread synchronous I/O algorithm. The results of the experiments show that, compared to traditional algorithms, the proposed algorithm has efficient data scheduling performance and can meet the needs of real-time rendering of massive terrain environment.

Key words: virtual terrain environment, pyramid model, asynchronous dispatch; thread pool; IOCP

中图分类号: