程序启动时特别慢,特别是第一次启动。在U盘上启动更慢。
FormCreate里面用TIniFile读取了许多配置,有什么办法优化?

解决方案 »

  1.   

    你的TIniFile读了多少配置?
    我的读了100条,没感觉慢。除非是你读了配置后在程序里做了其他操作。如果你真觉得慢,不仿用条后台线程来读取,而让主界面先出来。
    主界面在得到线程读取完毕的信息后,才开放用户操作。
      

  2.   

    TIniFile文件是比较慢的,建议在程序启动之初,就用一个类统一把INI加载到内存,然后FormCreate直接访问类属性就好了。
      

  3.   

    看看你的USB是1.1还是2.0的。弄个3.0就快了~~
      

  4.   

    把配置文件文件定义成结构类型 
    TConfigRec = Record
      FileName: string;
      Path: string;
      等等
    end;然后用流保存成二进制文件,启动时读二进制文件就比较快了
      

  5.   

    如果调试发现确实是读取INI文件影响运行速度,可以用2楼办法
    一次性把文件加载到内存中,这样就只有一次I/O操作了
      

  6.   

    Tinifile调用的是api,每次读写都需要打开、关闭一次的
    Tmeminifile是很快的
      

  7.   


    你所说的方法最好。
    类似RAR压缩包,都是采用你这种方法,速度极快!我通过一段时间努力学习后已经熟悉掌握。
      

  8.   


    Tinifile越大越慢,而且超過多少就讀不出來了。好像是90KB左右吧!之前有遇到過,改成Tmeminifile了
      

  9.   

    INI从通常感觉上来说是不慢,如果你有很多配置,又是零散读取,每次都打开文件,这样效率是不高的,正确处理方法是在启动的一次加载,这样可以避免多次IO操作,节省效率
      

  10.   

    還好啦,我沒怎麼感覺的,我的程序在啟動時也要讀好幾個INI文件的
      

  11.   

    建议找找程序的原因,INI读取基本上应该对速度影响不大。
      

  12.   

    读取速度没那么慢,你是不是频繁打开-读取-关闭操作啊,你要是打开一次,大量读取数据不慢的,以前没注册表时windows都用ini做配置文件的,大的一个ini文件能到10多兆