`
izuoyan
  • 浏览: 9222422 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

MPQ文件系统优化

 
阅读更多

上次用解析字符串的方式来列举目录和文件, 速度太慢

尤其像Common.mpq这样一个MPQ的listfile就几兆的情况下, 速度简直不能忍受

再想想ZipFileSystem中的FileEntry和DirEntry, 我想它们是用来缓存文件目录树的吧

在内存中进行查找肯定比读文件快, 更不用说去解析字符串了

还是加入进去好了

与Zip不同的是, 我没有把文件一次性读入内存. 因为mpq本身就支持Seek, 不需要读到内存去模拟. 如果想映射到内存进行快速访问, 可以用Map()和Unmap().

呵呵, Visual Paradigm画图就是爽, 个人自己用可以申请一个免费的授权

以后要慢慢学着自己设计东西了, 这也算一个瓶颈吧, 过去就好了^_^

N3的IO模块默认是跟主线程不在同一个线程里的, 这点比较头疼.....看来能只做一下简单的测试了, 或者自己在主线程里也开一个IoServer, 唉~~路漫漫

分享到:
评论

相关推荐

    MPQ工具v0.7_bagmyh_mpq工具_Mpqtools_mpq_

    3. 列表路径:这个条目可能表示压缩包内包含了指向MPQ文件列表的路径信息,用户可以通过这些信息快速定位并操作特定的MPQ文件。 MPQTools的功能可能包括: - **创建MPQ档案**:允许用户将游戏资源如音频、图像、...

    War3 MPQ操作.rar

    1. **MPQ文件结构**:MPQ文件是一种高效的压缩和存储格式,它由一系列的头文件、文件表、块列表和实际数据组成。了解其内部结构对于解包、打包以及修改MPQ文件至关重要。 2. **文件添加与删除**:通过特定工具,如...

    Easy Mpq2K

    3. **稳定性高**:通过优化的算法和良好的错误处理机制,Easy Mpq2K在处理大容量或复杂结构的MPQ文件时,能够保持较高的稳定性。 4. **易用界面**:直观的图形用户界面让新手也能迅速掌握操作,减少学习成本。 5. **...

    易语言MPQ文件操作源码-易语言

    7. **性能优化**:对于大型MPQ文件,快速的读写和查找性能至关重要。易语言源码可能包含了缓存机制、多线程处理等优化手段,以提高操作效率。 8. **安全性**:由于MPQ文件通常包含游戏的核心资源,防止非法篡改和...

    MpqTool-master_MPQTOOL_源码

    4. **文件系统模拟**:MPQ文件实际上是一种虚拟文件系统,了解其工作原理有助于理解MPQTOOL如何在内存中构建和操作这个系统。 5. **编程技巧与优化**:源码中可能包含各种编程技巧和优化,如错误处理、性能提升、...

    stormlib的支持库源文件

    StormLib库为开发者提供了API接口,使得程序可以方便地读取、修改或创建MPQ文件,极大地扩展了对这些游戏数据的可操作性。 源码的提供意味着开发人员能够深入理解StormLib的工作原理,并可以根据自己的需求进行定制...

    SM2258_MPQ0718A.rar

    【描述】中提到的"SM2258_MPQ0718A.rar"与标题一致,暗示了这个压缩包的内容是关于这两个特定技术元素的结合,可能涉及到它们的联合使用、配置或优化。 【标签】"SM2258_MPQ0718A量"可能指的是这两个技术组件的配合...

    winmpq 提取魔兽data中的文件

    - **提取文件**:用户可以挑选并提取`.mpq`档案中的特定文件到本地文件系统,例如音频文件、地图文件、纹理或模型数据。 - **创建和编辑MPQ档案**:除了读取,`WinMPQ`还支持创建新的`.mpq`文件或将现有文件添加到...

    SM2246_MPQ0508A.zip

    标题“SM2246_MPQ0508A.zip”和描述中的“开卡”表明这是一份关于SM2246控制器固件更新或初始化的资源包。SM2246是一款常见的SSD(固态硬盘)主控芯片,用于管理存储设备的数据读写和性能优化。开卡通常是指对新SSD...

    mpqEdit 32位

    MPQEdit是一款强大的MPQ文件编辑工具,尤其其32位版本,因其高效稳定,深受开发者和玩家喜爱。本文将详细解析MPQEdit 32位及其核心功能——RC2资源提取。 MPQEdit 32位是一款基于Windows平台的工具,专为处理32位...

    SM2258XT_B16A_PKGQ0816B_MPQ0816A_FWQ0816C0_RDTQ0808A0_DLLQ0815A_DBQ0816.rar

    驱动程序(DLLQ0815A)则是在操作系统层面上运行的软件,使系统能够识别和利用慧荣主控的特性。数据库(DBQ0816)可能包含了关于不同类型NAND颗粒的信息,帮助开卡工具正确配置和管理存储空间。 readme.txt文件通常...

    Amazon-EA_ea_ex4_mpq_Blessing_

    亚马逊EA(Amazon EA)是基于Meta Trader平台的一款自动交易策略,标题中的"ea_ex4_mpq_Blessing_"揭示了其基本构成和设计灵感。在外汇交易领域,EA(Expert Advisor)指的是智能交易系统,它允许交易者通过编程实现...

    魔兽世界模型

    《魔兽世界》使用的是自家开发的引擎,模型数据经过优化后,与游戏的渲染系统、物理引擎和碰撞检测系统相结合,形成玩家在游戏中看到的最终效果。 6. **版权与使用规范**:值得注意的是,"魔兽世界模型"作为官方...

    WinMPQ1.64 VB源代码.rar

    在VB中,这些功能通过一系列的API函数实现,如`OpenArchive`用于打开MPQ文件,`AddFile`用于添加文件到MPQ,`DeleteFile`用于删除文件,`SearchFile`用于查找文件,以及`ReadFile`和`WriteFile`用于读写文件内容。...

    WoWModelViewer wow模型查看器

    在WoWModelViewer中,MPQ模型查看器是核心功能,它能够解析和加载游戏的MPQ文件,呈现其中的模型数据。 1. **WoWModelViewer的功能** - **模型浏览**:用户可以查看并旋转模型,从各个角度欣赏细节。 - **动画...

    GMP 库文件 for windows,包含头文件,lib,dll

    如果你的程序动态链接到这个库,那么在运行时需要确保目标系统上有这个dll文件。相比于静态链接,动态链接可以节省资源,因为多个程序可以共享同一份库文件。但缺点是,如果目标系统缺少这个dll,程序将无法运行。 ...

    PE工具包 PEtool

    这些工具通常由程序员、系统管理员以及对系统底层操作感兴趣的用户使用,以实现对PE文件的定制、优化和调试。 1. **MsgDiyer2.03**: 这是一个用于制作系统消息的工具,允许用户自定义Windows的系统提示信息,为系统...

    炉甘石:纯Rust ExcelOpenDocument SpeadSheets文件阅读器:金属板上的锈

    **炉甘石:纯Rust实现的ExcelOpenDocument Spreadsheet文件阅读器** 炉甘石(Calamine)是一款专为Rust编程语言设计的开源库,它致力...通过持续的开发和优化,Calamine有望成为Rust中处理电子表格数据的标准库之一。

    BUCK-WCA.pdf

    从文件内容来看,本文主要介绍了一个采用MPS(Monolithic Power Systems)公司生产的MPQ2143作为控制芯片的Buck电路模板,并进行了最坏情况分析(Worst Case Analysis,WCA),这是一个在工程设计中常用的方法,用于...

    IMB_PowerHA_7.1

    总的来说,IBM PowerHA 7.1通过SMIT的优化、Systems Director的集成以及强大的`clmgr`命令行工具,显著提升了集群的管理效率和系统的可用性,为用户提供了一个更为高效和灵活的高可用性解决方案。

Global site tag (gtag.js) - Google Analytics