n*********i 发帖数: 567 | 1 最近碰到一个难题,想问问版上有没有人知道。具体是这样的:程序是运行在WINDOWS
上,比如说程序里有一块内存,我从显卡上通过异步DMA COPY一些数值到这块内存上
,因为是异步调用,我也不知道DMA会什么时候开始。但是我想知道那块内存里的值什
么时候发生改变。我不想用POLLING一次一次地去CHECK,因为那样太占CPU了,想通过
EVENT的方式,可以节省CPU LOADING。请问有这样的方式么?
最近想了很久,也没什么办法。实际上是显卡和CPU这边的同步问题,但是因为提供的
同步API也是把CPU BLOCK住,CPU LOADING太高。其他的显卡和CPU的通信方式就只有
DMA了,所以想看看有没有什么其他好的方法。
谢谢 |
x****u 发帖数: 44466 | 2 异步的话,开始和结束一定会有消息的。
WINDOWS
【在 n*********i 的大作中提到】 : 最近碰到一个难题,想问问版上有没有人知道。具体是这样的:程序是运行在WINDOWS : 上,比如说程序里有一块内存,我从显卡上通过异步DMA COPY一些数值到这块内存上 : ,因为是异步调用,我也不知道DMA会什么时候开始。但是我想知道那块内存里的值什 : 么时候发生改变。我不想用POLLING一次一次地去CHECK,因为那样太占CPU了,想通过 : EVENT的方式,可以节省CPU LOADING。请问有这样的方式么? : 最近想了很久,也没什么办法。实际上是显卡和CPU这边的同步问题,但是因为提供的 : 同步API也是把CPU BLOCK住,CPU LOADING太高。其他的显卡和CPU的通信方式就只有 : DMA了,所以想看看有没有什么其他好的方法。 : 谢谢
|
n*********i 发帖数: 567 | 3 程序是在CONSOLE下运行,都没有消息,只有SYNC和QUERY的API,但CPU LOADING都太
高。
【在 x****u 的大作中提到】 : 异步的话,开始和结束一定会有消息的。 : : WINDOWS
|
t****t 发帖数: 6806 | 4 console程序也可以收消息的.
【在 n*********i 的大作中提到】 : 程序是在CONSOLE下运行,都没有消息,只有SYNC和QUERY的API,但CPU LOADING都太 : 高。
|
x****u 发帖数: 44466 | 5 同步异步和console无关,我觉得你深入挖掘一下肯定有一套机制的。
【在 n*********i 的大作中提到】 : 程序是在CONSOLE下运行,都没有消息,只有SYNC和QUERY的API,但CPU LOADING都太 : 高。
|
x****u 发帖数: 44466 | 6 是啊,console程序可以做所有非console程序的事情,所谓console只是一个PE文件的
标志,告诉win32的用户态server如果没有默认的console窗口,就要自己打开一个。我
认为这个是比较无聊的设计。
【在 t****t 的大作中提到】 : console程序也可以收消息的.
|