有没有同学详细的解释一下为什么macbook pro/air 播放flash会那么发热? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
azure
V2EX    MacBook

有没有同学详细的解释一下为什么macbook pro/air 播放flash会那么发热?

  •  
  •   azure 2012-07-24 01:11:23 +08:00 28012 次点击
    这是一个创建于 4903 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我现在flash就发热。 cpu proximity温度 70多度。
    但是即使我做高负荷的虚拟机+解压缩操作 CPU load average 3.5-3.8都不会超过70度。。
    一开flash温度就上去了。

    windows下也是i5 cpu为什么别人的机器就没那么热。。

    flash很吃CPU? 比虚拟机+WINRAR解压几个G的文件还要吃CPU?

    有没有同学解惑。。。
    14 条回复    2016-04-10 23:16:18 +08:00
    thcode
        1
    thcode  
       2012-07-24 01:18:41 +08:00
    倒数第二段就是答案。
    feiandxs
        2
    feiandxs  
       2012-07-24 01:23:32 +08:00
    windows下跑flash一样是狂吃cpu的货,没例外的。
    但别用mac系列本的散热和windows下许多巨无霸比,这堆巨无霸往往在散热和噪音上做的同等出色,轰隆隆的风扇保证了温度的控制……

    解压文件没多少cpu,更多的在硬盘IO上。压缩的时候倒是挺费cpu,也看压缩的文件而言。
    myang
        3
    myang  
       2012-07-24 01:29:17 +08:00
    我也疑惑很久了,我的非巨无霸上网本+xp跑flash那叫一个凉快
    virushuo
        4
    virushuo  
       2012-07-24 01:45:06 +08:00
    Jobs不是说了嘛,因为Adobe不思进取,根本不好好优化flash。他们仅以跨平台自豪,并不再乎性能和耗电量。

    iOS不支持flash绝对是苹果做过最正确的事情之一。
    kunso
        5
    kunso  
       2012-07-24 01:46:49 +08:00
    @virushuo 是的。而且感觉每次更新都是在刷存在感,升级的特性都是说什么优化性能,提高图像质量。到头来依然是烫烫烫。
    zhuang
        6
    zhuang  
       2012-07-24 02:55:21 +08:00   31
    楼主疑惑的应该是两个不同但相关的问题:
    一是为什么 flash@osx 会使 cpu 明显发热,但 flash@win 为什么就不那么热;
    二是同样是高 cpu 负荷的解压缩工作为什么就不热。

    先解释下问题三:
    core i 系列 cpu 有一项叫做 Turbo Boost 的单核心加速技术,可以依据功率和散热情况短时间提高单一核心的运行频率,加速时的功耗要高于无加速情况下多核心满载的功耗。
    flash 是单核心依赖严重的应用,而虚拟机和解压缩可以充分利用多核心。前者会触发加速,因而实际 cpu 功耗和发热要超过后者。

    至于 flash 的运行效率问题,只能说 @win 比 @osx 确实要好得多,这与两个系统的图形渲染架构有关。绝大多数 flash 以绘图工作为主,win 版本的 flash 解释器更接近图形渲染后端,而苹果出于安全以及全局考量,拒绝 flash 解释器介入图形渲染的流程,使得 flash 渲染需要走前级图形接口,效率上自然有差距。
    这也是 adobe 抨击苹果不合作的地方。osx 的硬件加速长期落后于 windows 也是类似的结果。

    PS
    作为一种跨平台解决方案,flash 和 java 一样,不得不向效率作出妥协。而在 v9 引入 JIT 技术之后,除了寻求深度系统集成和硬件级加速,flash 已经没有再度提高运行效率的手段了。
    至于 adobe 不思进取,看看 adobe 家其他产品吧,至于说 flash 优化不好,我想,有能力优化 的情况下,adobe 会看着 flash 从 90% 的市场份额一路狂跌而无动于衷?假如现在的 cpu 能够集成几十上百倍的矢量运算单元,可能 flash 会是一种人见人爱的技术。

    PPS
    现在 flash 唯一的阵地就是网页内嵌视频领域了,而且一直有 HTML5 video 取代 flash 的呼声。实际上二者的解码部分是一样的,区别在于,flash 不具有渲染到显卡的能力,而浏览器也没有办法介入 flash 内部,基于 flash 的视频播放必然会受图形系统的影响,而调用硬件加速在沙盒化环境中又是处处受限,前景确实惨淡。基于原生 HTML 支持的视频播放,更容易被浏览器优化,调用硬件加速也更加方便。
    所以说 flash 不是死在闭门造车不思进取上,而是死在了更先进的技术面前。我丝毫不怀疑,在运算能力大幅度提升的未来,基于虚拟机的跨平台方案还会卷土重来。
    sivacohan
        7
    sivacohan  
    PRO
       2012-07-24 03:56:33 +08:00   1
    @zhuang 你说的非常有道理。我想感谢你。
    @Livid 为什么手机版没有感谢这个功能啊?
    cyberscorpio
        8
    cyberscorpio  
       2012-07-24 23:41:42 +08:00
    @zhuang 不太了解具体细节,但是有一点我觉得奇怪,你说 flash 在 macos 上不能充分利用硬件加速,但是 opengl 也不能用吗?后者在 macos 上应该具备硬件加速能力的吧。

    另外你说 “至于 adobe 不思进取,看看 adobe 家其他产品吧” 这个问题上,我觉得比如 acrobat reader,砖坯公司做的就很臃肿迟缓,印象中砖坯除了 ps 这个发家产品之外,其余的都不咋地 (对砖坯了解不多,也许有误)。就比微软,除了 windows & office 之外,其他很多产品都是一坨屎啊。
    zhuang
        9
    zhuang  
       2012-07-25 01:49:40 +08:00   6
    @cyberscorpio
    我前面那个回复本意是尽量简洁地描述回答,也故意隐藏细节,因为这个问题实在过于复杂。另外 adobe/apple 以及 flash/osx 毕竟都是私有产品,我的理解也可能有误,这里我把我的理解阐述一下。


    所谓的硬件加速具体指什么,win/osx 硬件加速支持如何?

    两个方面: H.264 解码硬件加速,屏幕渲染硬件加速。
    H.264 是高清流媒体的半事实标准,高压缩比可以大幅降低网络带宽需求,代价是解码运算量大。(其他编码方式由于解码运算量小,从硬件加速中受益不明显,所以通常特指 H.264)
    win 环境通常由显卡厂商随驱动提供解码器,可供 flash 和其他播放器调用。
    osx 目前 Lion 版本未提供 H.264 硬件解码接口(QuickTime 可以调用私有 API 实现硬件解码)。
    目前网络视频流最流行的封装手段依旧是 flash 播放器,flash@osx 的性能问题主要就是缺乏硬件解码支持造成的。
    后者是现在主流操作系统图形框架的基础(compositing/hardware overlay)。这方面对于性能的影响主要是 flash 动画,不如前者明显和广泛。
    compositing/overlay 的优点在于,应用程序独享自身界面部分的显存,组合渲染由显卡硬件实现,图形界面渲染对于 cpu 的占用大幅降低,同时可以利用显卡实现大量窗口特效。
    02 年 Jaguar 就实现了 compositing 硬件加速(基于 opengl),06 年 vista 也转向了组合机制。08 年 flash v10 开始支持 win 硬件渲染,10 年 flash v10.1 支持 osx 硬件渲染。


    flash@win 和 flash@osx 到底有什么不同?

    flash 本身没有太大区别,不同在于 win/osx 的设计思想,windows 强调兼容,而 osx 硬件平台相关的,这样的区别决定了 win/osx 对于第三方 runtime 的不同态度。
    win: Hardware -> OS -> OS API / 3rd runtime -> Software
    osx: Hardware -> OS -> OS API -> 3rd runtime / Software
    flash 作为 3rd runtime 在两个平台的地位是不同的,一般来说,越接近硬件越会有好的性能。出于兼容性考虑,win 向软件开放大量硬件细节;而 osx 只允许第三方应用调用高级 API 同时隐藏硬件细节,保证了上层应用的统一性。flash 在两个平台上的性能就有了先天性差距。


    一句话总结:flash@osx 性能差的原因主要是缺少 H.264 硬件解码支持,小部分原因是图形渲染流程所致。


    ------------------
    至于产品的问题,类比汽车产业的更新换代,adobe 在核心产品上的做为不说优秀,也可以算作中规中矩。这也只是我的看法而已。
    yutify
        10
    yutify  
       2012-07-25 05:28:44 +08:00
    我的T60+fedora跑flash也很热
    ayanamist
        11
    ayanamist  
       2012-07-25 09:13:32 +08:00
    @zhuang 说的很对。在Mac上的运行可以认为是跑在虚拟机里,而Win则是直接运行。
    @cyberscorpio 你要明白Acrobat Reader是从Acrobat精简而来的,没有任何一个公司会为了一个免费的reader重新开发。而且Reader X现在启动也很快了。况且为了保证与自家商业产品兼容,从商业版本精简出一个东西也是很常见的。
    aisk
        12
    aisk  
       2012-07-25 09:27:54 +08:00
    @zhuang Linux下各种开源闭源驱动下Flash也很卡这个是Linux显卡驱动不给力还是Flash的原因?
    Miaoz
        13
    Miaoz  
       2012-07-25 10:00:23 +08:00
    感谢 @zhuang 学到东西了。
    duguying2008
        14
    duguying2008  
       2016-04-10 23:16:18 +08:00
    如果 flash 播放器上有『开启 GPU 渲染』选项,那么开启 GPU 渲染之后发热情况会缓解。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4024 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 00:59 PVG 08:59 LAX 16:59 JFK 19:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86