作者realmeat (真肉)
看板Programming
标题[问题] mips write buffer的问题
时间Wed Apr 13 00:41:07 2011
开发环境是 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)