CNDEV
CNDEV.ORG
当前在线
论坛
CBD
程序员情感CBD
程序员见面交流会
CBD开发区
Java/J2ME
.NET/C#
数据库
Delphi/BCB
Visual C
其它
修真养身
中国象棋
纪念日
谈钱太俗,还是投机吧
听音乐
iCosta
资源共享
一隅
好文共赏
看电影看美剧
待定
狗屎
雪域召唤
工作流
专业显摆区
语录
情感
批评与自我批评
爱情故事
发牢骚
看三点区
游戏
CNDEV-CS/WOW
浩宇长空
生活
家有XPH
我爱学英语
美食天地ORG
半调子体育迷
观澳园友邻
搞笑奇文
拍照片
我读书我存在
论坛系统
超级垃圾站
系统建议及BUG
系统测试
中国开发网
: 论坛:
程序员情感CBD
: 贴子 181103
pcplayer
: 提。
[阅读: 290] 2005-08-22 07:06:52
<空>
相关信息:
TBitmap.SaveToStream 好象巨消耗CPU,有没有其它效率更高的办法?
(空) (
pcplayer
[656]
2005-08-22 04:08
)
提
(空) (
pcplayer
[307]
2005-08-22 06:05
)
转成JPG
(空) (
pigprince
[320]
2005-08-22 06:10
)
问题是,我这里一定是要处理BMP,不能处理JPG
(空) (
pcplayer
[375]
2005-08-22 06:16
)
存成jpg
(6字)
(
ahfei
[270]
2005-08-22 06:57
)
我现在是要把BMP里的数据提取出来,放到一个Buffer里,逐字节进行处理。
(空) (
pcplayer
[635]
2005-08-22 07:07
)
不是 SaveToStream 耗cpu吧?你的 Stream 是什么 Stream?逐字节处理很慢的。
(空) (
没脾气2x
[391]
2005-08-22 07:50
)
我写的测试程序代码很简单,先抓图为Bitmap,再将Bitmap.SaveToStream(MyStream)
(354字)
(
pcplayer
[909]
2005-08-22 07:57
)
300ms 一次,1024x768 的24bit色屏幕一次 2.3M,你觉得cpu跑到100%很不高兴咩?
(空) (
没脾气2x
[410]
2005-08-22 08:20
)
300MS 一次,1秒才三次嘛。我决定降低颜色。24bit的屏幕,抓下来成16bit的颜色,该怎么做?
(空) (
pcplayer
[439]
2005-08-22 08:37
)
2.3M 一个,一秒3.3次,一秒7.59M,你的硬盘速度多快?
(空) (
没脾气2x
[376]
2005-08-22 08:41
)
这个和硬盘无关吧?我又没存盘。我的内存1G,做内存操作也用不到硬盘缓冲。
(空) (
pcplayer
[400]
2005-08-22 08:51
)
位图最好设置成和桌面同样颜色深度,过高、过低都会降低复制速度。
(30字)
(
GoodHope
[692]
2005-08-22 08:53
)
在delphi中对 TBitmap 想快速的作图像处理,要用 ScanLine
(空) (
没脾气2x
[829]
2005-08-22 07:54
)
我试试这个 ScanLine
(空) (
pcplayer
[308]
2005-08-22 08:02
)
ScanLine 每个点过一下,居然用了19秒!
(空) (
pcplayer
[369]
2005-08-22 08:27
)
你肯定用的是TBitmap,而不是从TGraphic继承下来的别的图形类么?
(空) (
GoodHope
[399]
2005-08-22 08:34
)
是肯定可以确定是TBitmap的。
(空) (
pcplayer
[309]
2005-08-22 08:38
)
那就、就、就是……
(16字)
(
GoodHope
[339]
2005-08-22 08:42
)
你自己算一下一个大bmp要多少内存,狠吓人的
(空) (
pigprince
[390]
2005-08-22 06:16
)
如果cpu不是浪费在糟糕的写入上,而是因为bmp的内存耗用太大
(28字)
(
haitao
[330]
2005-08-22 06:22
)
CPU 消耗巨大
(空) (
pcplayer
[306]
2005-08-22 06:24
)
如果内存耗费过多,也会导致cpu消耗巨大。。。
(37字)
(
haitao
[429]
2005-08-22 06:26
)
内存消耗应该不大。抓屏幕的图,大概也就3M
(空) (
pcplayer
[316]
2005-08-22 06:32
)
我现在是抓的屏幕的BMP。不算太大。
(空) (
pcplayer
[310]
2005-08-22 06:23
)
提。
(空) (
pcplayer
[289]
2005-08-22 07:06
)
贴抓图部分源码出来!
(17字)
(
GoodHope
[353]
2005-08-22 08:43
)
又纠我尾巴
(空) (
小东
[314]
2005-08-22 08:48
)
你不说我都忘记了
(13字)
(
GoodHope
[323]
2005-08-22 08:49
)
抓图部分的代码经过测试发现对CPU的消耗少。
(479字)
(
pcplayer
[433]
2005-08-22 08:56
)
你怎么没 TBitmap.Create ??
(空) (
没脾气2x
[397]
2005-08-22 09:00
)
我前面说了为了避免TBitmap.Create被反复做,是事先就把TBitmap.Create做好了的。
(空) (
pcplayer
[450]
2005-08-22 09:17
)
那你还 return 干嘛
(空) (
没脾气2x
[379]
2005-08-22 11:21
)
我和你相同的代码,1280×960,15%的CPU利用率。
(空) (
GoodHope
[372]
2005-08-22 09:05
)
而且是32bit模式
(空) (
GoodHope
[353]
2005-08-22 09:08
)
你的 15% CPU 是仅仅抓图吧?我这里如果只抓图也没问题。有问题的是把图输出到MemoryStream里。
(95字)
(
pcplayer
[441]
2005-08-22 09:19
)
如果,只截图的话,CPU消耗是
(2字)
(
GoodHope
[356]
2005-08-22 09:21
)
嘿嘿,现在发现以前挺耗时间的绘制位图过程,现在居然飞快。
(24字)
(
GoodHope
[422]
2005-08-22 09:19
)
原来你丫是机器好。
(空) (
pcplayer
[361]
2005-08-22 09:25
)
内存的 TBitmap 跟盘上的 bmp 文件是不一样的
(14字)
(
holly
[370]
2005-08-22 09:31
)
的确可能时间就消耗在这里了。这是我看TBitmap.SaveToStream的Source的感觉。
(19字)
(
pcplayer
[533]
2005-08-22 10:18
)
俺说啦,如果想后面处理的快的话,要用 ScanLine,你用 ScanLine 慢的原因可能是没用对。
(空) (
没脾气2x
[390]
2005-08-22 11:23
)
这玩意该怎么用?给几句例子代码?
(空) (
pcplayer
[305]
2005-08-22 15:46
)
欢迎光临本社区,您还没有登录,不能发贴子。请在
这里登录