[問題] mips write buffer的問題

看板Programming作者 (真肉)時間14年前 (2011/04/13 00:41), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
開發環境是 c cpu 是 mips 架構 最近碰到一個問題 就是我在frame buffer 操作畫出一個填滿圓形 使用一個個點填入 填入的演算法確定是對的 (我有把資料讀出來看, 確定沒問題) 可是問題出現是說 我的圓形在畫面上並沒有完整的畫出來 每一次畫一個圓形就會把前面的圓形慢慢的補齊 如果畫7~8個半徑6的小圓, 就只會有圓的雛型 如果畫上一個半徑為60的較大圓形, 那前面7,8個小圓就會被完整的畫完 原因跟老闆討論過 問題可能是資料還卡在出在write buffer 這邊 所以dram上的資料沒有馬上被刷新 一開始我也有考慮到這問題 所以在程式碼內加上volatile 但是沒有用處 後來說要把cache 直接清空 所以在程式碼內插入 asm("sync"); 也是沒有用處 目前是採用比較暴力的做法, 這我是進行測試時實驗出來的 就是在frame buffer 自己對自己上進行 memcpy一次 硬是把write buffer 內的值清出來 不過這做法並不是我想要的 畢竟loading 很大 想問的是說 這問題有人有碰過並且有比較好的解法的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.174.139 ※ 編輯: realmeat 來自: 220.130.192.231 (04/13 09:10)
文章代碼(AID): #1Df82cHm (Programming)
文章代碼(AID): #1Df82cHm (Programming)