![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 秋 ![]()
![]() |
也用過背景來處理顯示textbox的方法但會發生顯示不是當下演算的結果,我想應該是不同步的關係。若加上 Application.Doevents()又會增加時間,目前自已有個想法請各位版上前輩指教 目前想嘗試用一維陣列改用指標的方式進行,不知有人怎道嗎? 真的這樣做有可能可以加速嗎? 或者不知前輩們有什麼更好的方法 ? 還請指教 !!
搜尋相關Tags的文章:
[ 演算法及update control加速的問題 ] ,
本篇文章發表於2016-12-22 22:41 |
1樓
最有價值解答
JoJo ![]() |
如何:使用指標複製位元組陣列 (C# 程式設計手冊)
How to: Access an Array Element with a Pointer (C# Programming Guide)
本篇文章回覆於2016-12-23 10:02
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
2樓
作者回應
秋 ![]() |
請教大大門用指標做 一維陣列 * 一維陣列
本篇文章回覆於2016-12-23 13:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
3樓 |
您好,有幾個不太理解的地方
1.您指的一維陣列相乘,意思是A[1]*B[1]~ A[n]*B[n] 還是A[1]*B[1],A[1]*B[2]...A[1]*B[m] ~ A[n]*B[1],A[n]*B[2]...A[n]*B[m] 2.每一動作10ms以下,這邊的一個動作是指兩個陣列的元素相乘就算一個動作,還是整個陣列相乘完畢視為一個動作 3.利用背景處理顯示textbox,這邊可能是多執行緒的使用,多少會不同步...但10ms以下的速度在執行,人類真的分辨得出來嗎?
本篇文章回覆於2017-01-04 14:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
4樓
作者回應
秋 ![]() |
感謝Qoo大大回覆,10ms以下的速度,人類確實是無法分辨。但上面要求用陣列依序存數據及show在datagridview 上時,
若不同步則會發現資料錯誤了。感謝回覆
本篇文章回覆於2017-01-09 11:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
5樓
不錯的參考
QOO ![]() ![]() |
您好,因為您提出的需求內容本身有點弔詭,所以才想跟您釐清,先弄清楚到底要達成什麼目標,你就知道程式該怎麼修改
1.基本上,就算您的程式完全如預期,每次的計算+顯示,都能在10ms內完成 10ms基本上是每秒100次更新的意思,這個更新頻率,也已經比正常螢幕的60Hz,75Hz要快了 程式做的完,您的螢幕也不一定能顯示,更別說人眼能辨識了 2.假設程式如預期的設計,但在沒有debug模式之下,使用者如何得知目前計算的陣列內容? 因為要能夠知道計算與顯示不同步的前提,就是使用者知道電腦當前計算的陣列是2x3,但顯示的內容卻是3x4 我個人覺得,原本使用多執行緒的方式處理是個適當的方式,由A執行緒計算,B執行緒顯示結果 即使不能做到10ms的同步,但只要A計算完,都透過B顯示(即能顯示的資料,一定是正確的) 當然,您若覺得唯一解還是得從技術面下手 可能還是得參考1樓大大的資料,或是等待其他資料結構的高手,提點一下更好的演算法
本篇文章回覆於2017-01-10 11:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
6樓
作者回應
秋 ![]() |
Q大大及JoJo大大,感謝你們熱心的分享
本篇文章回覆於2018-04-24 20:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |