图像实时采集※解压※显示※保存※求救

darydl 2004-09-02 05:01:42
我的单线程设计是:
响应消息->判断数据帧头->初始化环境->进入循环
我现在开发一套实时显示软件,但是速度目前只能达到300行/s,要求图像数据进入PC机后。解压缩--》显示(directdraw+memcpy)--》保存,单位为行。但是我的项目书速度要求达到1700行/s。现在我使用的是单线程,我的单线程设计是:
响应消息->判断数据帧头->初始化环境->进入循环.
循环是:
while(1-n行)
{
解压一行;
显示一行;
while(768*n行)
{
保存为bmp;
}
}】

要求实时,但是这样的速度只能达到300行/s,请问如何实现多线程,如何实现线程同步,着急!那位高手帮忙,最好具体代码讲解。万分感谢!
...全文
95 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DentistryDoctor 2004-09-03
  • 打赏
  • 举报
回复
如果多线程显示反而会适得其反,因为显示必须对显存(显示平面)地址进行锁定。
darydl 2004-09-03
  • 打赏
  • 举报
回复
DentistryDoctor(牙科医生) 说得很有道理,这个线程需要锁定ddraw表面。

解压缩更难作一个线程了,因为里面要调用很复杂的算法源代码,我现在真的不知道如何是好啊,做多线程无从下手,还不知道怎么解决同步,也许是解压缩速度很慢吧,每
s能解1000行,而我显示要1700/s,唉,不知道怎么达到要求了
郁闷
csdn_cht 2004-09-02
  • 打赏
  • 举报
回复
协调多线程。
oyljerry 2004-09-02
  • 打赏
  • 举报
回复
解压缩一个线程,显示作一个线程
darydl 2004-09-02
  • 打赏
  • 举报
回复
我用的是hp的算法
压缩是以行为单位的,一行长度可以自己设定。
压缩传递的是unsinged char*指针,显示也是一行一行的显示,这些都实现了
但是是单线程,我想改为多线程。请问有何具体方法?

能举例最好!
多谢!
oyljerry 2004-09-02
  • 打赏
  • 举报
回复
在内存中解压,再显示,可提高速度
DentistryDoctor 2004-09-02
  • 打赏
  • 举报
回复
你的数据怎么是一行行的不是一帧一帧的呢?先在内存中全部解压,再一次性显示?
名牌大灰狼 2004-09-02
  • 打赏
  • 举报
回复
我感觉至少要用多线程

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧