UWP的文件讀寫是慢

TonyDeng UID.2870126
2018-05-22 发表

本帖最后由 TonyDeng 于 2018-5-22 12:57 编辑

專門測試了一下UWP的文件讀寫,在PC上純讀,FileIO.ReadTextAsync()方法,一個430K的文本文件,用時大概4秒。手機可能會更慢。這還是純文本文件TXT,使用默認的utf-8編碼(原文件是GB2312編碼290K,轉為utf-8是430K),如果文檔本身是別的編碼,加上轉碼過程,恐怕會更慢。

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
asizel UID.631132
2018-05-22 使用 Lumia 1520 回复

撸过

2018-05-22 使用 Lumia 950 回复

学习学习了

artfly08 UID.2900999
2018-05-22 使用 Lumia 830 回复

学习

ab****ng UID.1018194
2018-05-22 回复

txt本来就不是给你们开这种文件的, 这种文件有自己专门的阅读方式和优化, 不信 你比较 excel和 spss 的 csv打开速度, 还有txt格式的数据库, spss各种秒开, txt文本直接死机

TonyDeng UID.2870126
2018-05-22 回复

Quoteabcsing 发表于 2018-5-22 19:27
txt本来就不是给你们开这种文件的, 这种文件有自己专门的阅读方式和优化, 不信 你比较 excel和 spss 的 ...


找到原因了:不是文件讀取慢,其實是控件佈局慢。我把讀入的文本直接賦給TextBlock.Text(爲了看它讀的對不對),是程序對這個控件渲染佈局慢,因爲這個字符串太長了。別的軟件之所以顯得快,是分批處理。

ab****ng UID.1018194
2018-05-22 回复

Quote***链接停止解析***
找到原因了:不是文件讀取慢,其實是控件佈局慢。我把讀入的文本直接賦給TextBlock.Text(爲了看它讀的對 ...


嗯,我大概就是这个意思, txt的打开方式比较傻,优化不好,几百K 的文件就开始卡, 几mb的 就基本开不开了

max****ker UID.2903974
2018-05-23 回复

如果你用Textbox,定时(比如1毫秒或10毫秒)每次通过+=运算符给Textbox增加内容,你会发现很快就卡死了,而WPF却不会,UWP的架构确实是不太行的。另外,如果你打开的文件,不是通过在代码里面硬编码指定文件路径来打开,而是通过打开文件对话框来打开的话,当Bug10出现抽筋症状的时候,通过FileOpenPicker打开文件对话框选择要打开的文件后,会大幅减慢文件数据的读取速度。实际上这个时候即使用记事本打开也会一样,总之Bug10是名符其实的Bug。开发UWP,有很多坑踩的。

artfly08 UID.2900999
2018-05-23 使用 Lumia 830 回复

不清楚

TonyDeng UID.2870126
2018-05-23 回复

本帖最后由 TonyDeng 于 2018-5-23 13:15 编辑

Quotemaxbreaker 发表于 2018-5-23 12:47 如果你用Textbox,定时(比如1毫秒或10毫秒)每次通过+=运算符给Textbox增加内容,你会发现很快就卡死了, ...
我覺得是異步函數的問題。在WPF中,可以不用,但在UWP中,是被迫使用的。之前壇上也有人説過文件處理速度慢的問題。現在初步的感覺,是把數據量盡量分少,寧願分批處理,也不要一次過。另外我還看到資料說,UWP允許的後臺動作,時間是有限制的。轉換了框架的新系統,肯定有很多坑要踩,這是預料之中的,我也是慢慢學。 你提到TextBox那種慢的情形,其實我能解釋其原因,很正常(其實連TextBlock都慢的話,則TextBox更不必說了)。 UWP爲了適應不同的設備類型,套了太多的殼,慢是必然的,只是要知道慢到什麽程度、怎麽消解而已。在手機上的速度和效率,跟PC比,根本不可能,這麽一個通用架構,肯定受短板制約,必須能在最低檔的設備上能正常運行,整體上拖慢整個架構,可以理解的。

artfly08 UID.2900999
2018-05-24 使用 Lumia 830 回复

不懂

yonky24 UID.2811521
2018-05-25 回复

假装看懂,就是有一丢丢纳闷这坛子里为什么常见许多繁体字大佬……

辛勤的蜜蜂 UID.813897
2018-05-25 使用 Lumia 950 XL 回复

不懂了!

TonyDeng UID.2870126
2018-05-25 使用 Lumia 950 回复

现在知道怎么读GBK的文档了,不用转码啦。{:5_202:}

artfly08 UID.2900999
2018-05-26 使用 Lumia 830 回复

不清楚

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报