重新启动解析

【勇芳软件工作室】汉化HomePreviousNext

您必须设计文件解析器,以便可以在文件中的离散位置高效地重新启动解析。目标是让显示引擎获得最佳性能,而无需存储完全转换的文件副本。

为了促进可重新启动的解析,显示引擎包含一个称为【分块】的模块,它基本上缓存来自解析器的数据。该块不缓存所有数据,只显示引擎最近请求的数据。但是,它将缓存状态数据用于文件中可重新启动的位置。这意味着只要解析器以可以有效重新启动的方式维护自己的内部数据,显示引擎和解析器就可以协同工作来定位并重新启动缓存位置处理。

文件解析器负责确定重新启动解析的最佳位置。它通过调用SOPutBreak函数来实现。chunker假定每个break是文件中的一个可重新启动的位置。然而,在调用SOPutBreak之前,文件解析器必须保存关于位置的最新数据,以便在请求时可以快速检索并开始处理该位置的数据。

显示引擎使用VwStreamSeekFuncVwStreamTellFunc函数将文件解析器指向可重新启动的位置。