cuda加速视频播放问题

用GTX650显卡播1080P的视频可达到200帧,可用GTX660播也是200帧,按理内核数量650为384个而660为768个,也用以前的卡试过,效果是按内核数量增加而提高的,不知到在哪出现了限速?有没有搞过这方面的大侠,请指点,谢谢!

这个。。。论坛主要是交流CUDA程序开发的问题,楼主这个问题似乎是CUDA的实际应用问题。我猜可能的一个情况是出在CPU为GPU准备每一帧的数据的速度是有限制的,虽然GPU处理每一帧的速度非常快,但是还是要等待CPU提供下一帧的数据才能接着处理并显示。楼主以前的显卡是否能达到200帧呢?或许200帧是由于CPU的制约而到达的极限。。。

CPU不参与计算!是在GPU是计算的,用4核与2核的CPU都试了,没有区别,别外哪里能请教到这方面高手?谢谢。

LZ您好,按照您提供的情况,在计算规模加倍的情况下,实际解码速度是不变的。
那么可以直接得到如下推测:

1:您使用了CUDA加速,但是这里并非是计算瓶颈,而是其他瓶颈。如果这样的话,请问LZ是否是自己写的程序,如是,可以分析一下瓶颈何在,如是第三方程序,请反馈原作者,并询问具体情况。

2:您没有使用CUDA加速,而是其他的硬件加速单元,也许在650和660里面集成的该单元解码能力相同,以至于得到如上结果。

以上推测,供LZ参考。祝您编码愉快~

看来楼主没明白我的意思。。。
换个说法,GTX650处理的速度足够快了,但是这时候CPU还没有把下一帧的数据准备好传给GPU,那么GPU就必须等待,这样的话你的帧率就是由于CPU准备下一帧的速度不够而被限制了,而GTX660处理能力虽然更高,但是同样也必须等待CPU准备下一帧的数据,所以两个卡所得到的帧率相同,是因为CPU准备数据跟不上GPU处理数据而导致的,不是CPU参加不参加计算的问题!

先多谢了,我自己是个小码农,你们提的我认真考虑一下,CUDA这个东东很难搞啊!不过有一点是可以确定的,码流是通过总线由内存直接写到显存的,GPU解码计算后直接屏显,不经过CPU,这是CUDA最牛的地方,不过分析起来很吃力!祝码码快乐!