能力值:
( LV2,RANK:10 )
|
-
-
2 楼
有必要频繁读写吗?
1、控制读取的频率
2、只读取,不显示到界面,看是否有改善
|
能力值:
( LV15,RANK:670 )
|
-
-
3 楼
用文件事件通知,文件有变化才读取。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
我是从游戏来读取数据保存在INI文件里做记录,然后再把这个数据显示在列表框上的,所以需要频繁读取数据
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
因为有个别的数据需要在不开游戏的情况下也可以显示,所以才保存在INI文件上,不知道还有什么别的更好的办法来做这个事
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我觉得,你在读写之前,随便Sleep上个1毫秒都不会出现你说的那个问题
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
sleep(10)吧,至少应该是10毫秒,性能瓶颈应该不是读ini文件,而是刷新界面,所以建议你读出来数据后,在内存在存一份,下次读数据后对比一下是否有变化,有变化再更新到界面,没有变化则sleep(10),继续读
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
呵呵,我觉得这是编程基本功问题,尽可能把那INI文件预存到内存中,然后写文件就专门用个线程来写(加上Sleep(1000)就可以了)。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
好的,谢谢大家,我试试看
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
这边人倒是挺多的,我在新手区问了一个问题,但是每一个人回复,
http://bbs.pediy.com/showthread.php?p=1084833&posted=1#post1084833
郁闷啊,没有邀请码,在这边发不了帖子,大家谁能帮忙回答下,或者帮我转发一下,谢谢
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
我想可以只写不读吗?只在程序运行时度一次,显示出来,然后当显示的内容发生变化时,再将新内容写入文件。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
sleep函数
|
能力值:
( LV3,RANK:20 )
|
-
-
13 楼
> 我是從遊戲來讀取數據保存在INI文件裡做記錄,然後再把這個數據顯示在列表框上的,所以需要頻繁讀取數據
> 因為有個別的數據需要在不開遊戲的情況下也可以顯示,所以才保存在INI文件上,不知道還有什麼別的更好的辦法來做這個事
改變方法:
1. 資料的傳輸請使用 Send Message OR Shared Memory。
2. 在遊戲結束之前再把資料存進檔案中。
3. 偵測不到遊戲時,再從檔案中讀入資料。
4. 運算與顯示不需要同步,意思是,你一秒內可以運算一千遍以上,
但可能只需要顯示十次就夠了。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
有变化时再读写更新
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
延时.......
多线程...
这个用好就行了...
记得清理内存....
java可以无视
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
换个思路,先写到内存,再定期刷到ini里去,这样就不会占很高CPU了。
|
能力值:
( LV15,RANK:440 )
|
-
-
18 楼
内存映射不知道行不行。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
你这样,收到消息,直接发送到界面显示,后台建个队列,随时处理发送过来的消息,保存到文本文件即可
如果先写文件,再显示,就慢了。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
写在内存, 退出的时候保存一下即可
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
大神们求救,sleep函数怎样添加到exe文件中去呢?有些可执行文件需要的CPU频率很低,在高配置电脑上运行相当快,怎样添加sleep使其运行一步sleep一段时间呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
应该是你的读写策略有问题,文件是用来保存软件退出后的信息的,不是用来数据交换的,本来磁盘IO就比较慢,可以在关闭软件的时候保存,运行软件的时候读取,信息交换用内存来实现比较靠谱
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
把文件隐射内存里,毕竟读些内存比硬盘快多了
|
能力值:
( LV5,RANK:70 )
|
-
-
24 楼
这位兄台正解了.
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
非常感谢大家的帮忙,改用内存过渡方式挺好
|
|
|