计算机专业职业发展免费测评

CowNew开源团队

http://www.cownew.com 邮件请联系 about521 at 163.com

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  22 随笔 :: 0 文章 :: 55 评论 :: 0 引用

上午下载试用了一下Google chrome,让我眼前一亮的是它的多进程功能(MRay的提醒才让我意识这个事实,呵呵)。每打开一个页面,chrome都会开启一个新的进程,这可以通过“任务管理器”看出来。这样的优势就是各个页面之间不会互相影响,因此不会出现IE中浏览Ajax泛滥的网页的时候出现的整个浏览器假死的情况,极端情况下,当一个页面中的chrome崩溃的时候其他页面不会受影响。
我尝试分析chrome的实现机理,一开始我认为每个页面就是一个进程窗口,只不过chrome将这些窗口通过SetParent这样的方式展示到一个父窗口中而已。但是使用Spy++进行探测后我大吃一惊,每个页面以及主窗口页面的ProcessId是同一个,也就是显示界面还是一个进程。因此我猜测chrome只是把每个页面对应的运行引擎放到单独的进程了,渲染和交互的界面还是同一个进程。
看来Google chrome还是受限于界面只能是一个进程、线程的约束,啥时候操作系统图形引擎能够支持每个子Window都可以运行在不同的进程、线程中就好了,呵呵。
还没来得及看chrome的源代码,所以一切都只是猜想而已。

 

给chrome来个暴力测试:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>TestMe</title>
    <meta http-equiv="content-type" content="text/html; charset=GBK">
  </head> 
  <body>
   <script>
 function ok()
 {
  while(true)
  {
  }
 }
 </script>
    <button onclick="javascript:ok()">ok</button>
  </body>
</html>

上面的HTML页面在IE、FF中运行都会提示“会消耗系统资源,是否继续”,一旦继续浏览器就死掉了,其他页面也无法打开,而用chrome就没有这个问题,其他页面照样跑的欢。我以前试用一些复杂的网页游戏的时候,这些游戏中使用JavaScript进行的AI运算如果非常耗时,那么IE就会弹出讨厌的“会消耗系统资源,是否继续”提示,有了chrome就再也不担心这个问题了,是否意味着以后大量的运算逻辑可放在浏览器端了呢?期待!!!

posted on 2008-09-03 15:48 CowNew开源团队 阅读(2207) 评论(32)  编辑 收藏 网摘

评论

#1楼  2008-09-03 15:59 Gray Zhang      
没弹出警告并不是说没消耗客户端资源了,CHROME这是对不应该出现的大计算量的纵容,到时候再出点内存或者什么方面的问题,客户端死都不知道自己是怎么死的
  回复  引用  查看    

#2楼  2008-09-03 15:59 Chinaren      
沙发,尝试了,确实是这样。
  回复  引用  查看    

#3楼 [楼主] 2008-09-03 16:06 CowNew开源团队      
@Gray Zhang
客户端有着非常丰富的计算资源,应该把不涉及到数据安全、数据机密的计算都放到客户端来,这样可以大大降低服务器的压力。现在的网页连多线程实现起来都费劲,更别提多核运算,很多用户的CPU占用率都只有百分之几(中木马病毒的除外,呵呵),这完全是对客户端资源的极度浪费。
  回复  引用  查看    

#4楼  2008-09-03 16:09 Gray Zhang      
@CowNew开源团队
资源再多CPU也是顺序执行的,比如排序问题,1000个左右的数据扔到客户端用extjs排序一下会卡好几秒,用extjs的树来加载1000个左右的node也卡,这不是浏览器换一个就能改变的,依旧要从读取的问题上去优化,而不是把这种计算全交给客户端
  回复  引用  查看    

#5楼  2008-09-03 16:13 布尔1 [未注册用户]
@Gray Zhang
严重同意
  回复  引用    

#6楼 [楼主] 2008-09-03 16:16 CowNew开源团队      
@Gray Zhang
我从来没否认过有了chrome这样的东西就不用进行算法优化了,工具在强大,该优化还是要优化。
你说的树的排序已经涉及到界面层次了,与我这里说的计算逻辑关系不大,页面线程只有一个,因此对页面进行频繁的操作肯定会非常卡。
  回复  引用  查看    

#7楼  2008-09-03 16:27 badnewfish      
一句代码搞死所以流行标签式浏览器:
protected void Page_Load(object sender, EventArgs e)
{

Response.Write("<script language='JavaScript'>alert('哈哈哈');window.location=location;</script>");

}

  回复  引用  查看    

#8楼  2008-09-03 16:31 路人假 [未注册用户]
迴圈內再生一些東西出來,把記憶體用光,這樣才像暴力測試
  回复  引用    

#9楼 [楼主] 2008-09-03 16:34 CowNew开源团队      
@路人假
我的测试的目的是看长时间的运算页面之间是否会互相影响,而不是耗光内存。
@badnewfish
这个东西确实会把浏览器搞死。这也是我曾经希望浏览器有的功能,也就是一个页面中的模式对话框不会阻塞其他页面,无奈乎CHROME也没实现这个功能。我目前做的一套图形库能够实现页面中的模式对话框不会阻塞其他页面,呵呵,:)
  回复  引用  查看    

#10楼  2008-09-03 16:45 布尔      
对139邮箱兼容性极差,大家去试一下吧
  回复  引用  查看    

#11楼  2008-09-03 16:49 GoGoSonny      
感觉Chrome就是Opera第二,很快,但功能还是离FireFox差点。

多进程,多内存啊,看看内存消耗吧。。。
  回复  引用  查看    

#12楼  2008-09-03 17:13 jillzhang      
@GoGoSonny
功能要一点一点完善嘛,哪能一步登天
  回复  引用  查看    

#13楼  2008-09-03 17:36 Rivers Zhao      
--引用--------------------------------------------------
布尔: 对139邮箱兼容性极差,大家去试一下吧
--------------------------------------------------------
不是对139邮箱兼容性差,是139邮箱本身的代码就非常的烂。你看下139邮箱的代码就知道了,不符合一点标准和规范。
  回复  引用  查看    

#14楼  2008-09-03 17:44 时间太快      
今天用Google的时候也看到了,目前也正在使用中。。。该浏览器界面非常简洁,功能也不多。但我有点担心的是,对我们的数据安全性会不会有问题,比如Google公司会不会把你的帐号信息给偷过去???当成一个情报工具 呢???
  回复  引用  查看    

#15楼  2008-09-03 17:47 hoodlum1980      
我尝试分析chrome的实现机理,一开始我认为每个页面就是一个进程窗口,只不过chrome将这些窗口通过SetParent这样的方式展示到一个父窗口中而已。但是使用Spy++进行探测后我大吃一惊,每个页面以及主窗口页面的ProcessId是同一个

-----------------------------------------

我不知道这有什么可惊奇的,好像只有IE才是开多个进程的吧。进程只是个容器。
  回复  引用  查看    

#16楼  2008-09-03 18:12 weiye [未注册用户]
IE8也是每个标签单进程 做的比google的更好
  回复  引用    

大家有没有用过遨游2呢?
  回复  引用  查看    

#18楼 [楼主] 2008-09-03 19:58 CowNew开源团队      
@金色海洋(jyk)
兄弟你在开玩笑吗???
  回复  引用  查看    

#19楼  2008-09-03 21:21 icewater      
至今还守侯在WIN2003系统下,没一款浏览器看起来比IE6舒服,因为已经习惯了.上次用了一下WIN2008很快就也习惯了IE7.看来我是跟着系统走的.对其他的再好的浏览器都不太再意,IE做得不差就够了.没必要手动去习惯另一个相同功能的软件
  回复  引用  查看    

#20楼  2008-09-03 21:27 梁逸晨      
楼主的研究精神值得敬赏。
我曾经忘情于两汉的歌赋,我曾经惊讶于李杜的诗才,我曾经流连于宋元的词曲。但现在,看了楼主的帖子,我才知道我有多么浅薄!

  回复  引用  查看    

#21楼  2008-09-03 22:18 布尔      
@Rivers Zhao
我看了看没看出来哪里烂啊,你说说有本事。
  回复  引用  查看    

#22楼  2008-09-03 22:52 飞不动了      
我今天也试了一下这玩意,并用它跑一下公司的系统。
发现一些页布局变样了,还有一些脚本不能正确运行。
一些自己写的控件也不能用了。看来以后做web更困难了,更多的东西要考虑了。
NND,软件界对浏览器也不搞个标准,这一套那一套的,让做程序的受苦。
  回复  引用  查看    

#23楼  2008-09-03 23:13 dannyplus      
@ 飞不动了
就是,下次做网站的时候,附带一个浏览器,看看他们谁更牛...
  回复  引用  查看    

极端情况下,当一个页面中的chrome崩溃的时候其他页面不会受影响。??
我今天怎么一个标签崩溃,其他的全卡住?然后自动关闭
  回复  引用    

#25楼  2008-09-03 23:56 ocean      
IE8 beta2现在如果一个tab死掉了,也不会导致整个窗口关闭,而且速度和Chrome一样快,因为我实在说不上谁快,反正当我一点图标的时候,都是瞬间就弹出来了。但是Chrome有些网页还是有问题。而且有些页面打开的时候速度慢。当然我们可以说那是网站制作本身的问题,但是我们也不能要求网站多么按照标准做,不能说别人的代码烂。至少IE无论网站的代码多么烂,都能正常显示,Chrome还是差很多。因为本身期待所有人和所有网站都遵循标准,就是一件不可能的事情。



举个例子:你给用户写个程序,总要进行输入检查吧,比如发帖子时里面不能包含<script>标签,我们假设内容不能包含<script>标签为一个标准,那么当我们用户违反这个标准的时候,我们的程序通常会怎么做,三种做法:

1:不管,那么后果很严重

2:提示用户违反标准,结果就是用户完不成固定的操作,必须去修改自己的输入。这好像就是很多类似Chrome这种浏览器干的事情。和标准有些不符就显示的一团糟。

3:知道用户违反标准了,但是自动去掉了<script>标签,将用户输入自动转换位合法的。OK,用户再也不用为自己的输入是不是标准的而操心了。我想大多客户都希望有这样的软件系统。这也正是IE干的时期。可以说IE是有着极其良好的兼容性的,这也是程序健壮性的一种体现。



我想如果你在为某个企业做个系统,任何情况都按照第二种来处理的话,估计肯定会被你的客户骂死。
  回复  引用  查看    

#26楼  2008-09-04 00:00 tshwangq [未注册用户]
唉,又多了一个要支持的浏览器。
web开发容易么?
  回复  引用    

#27楼  2008-09-04 00:00 bangbang [未注册用户]
看来Google出这个浏览器,确实是为了对付微软的IE,IE8的隐私功能,绝对会影响Google的利益,Google对这个浏览器完全没有跨平台的打算嘛,吃死了跑在Windows平台。
  回复  引用    

#28楼  2008-09-04 00:10 tshwangq [未注册用户]
@bangbang@
如果真就为了拼个隐私,也太不大气了。
况且他google再厉害,要和微软单纯的拼浏览器肯定拼不过的。

但是如果考虑的未来的互联网趋势,以及诸如webos之类的东西。
把浏览器看成一个操作系统或者网络客户端,那那家都会眼红的。
哈哈。

  回复  引用    

#29楼  2008-09-04 01:23 狼Robot      
@tshwangq
这个隐私跟google的关系可大着了
  回复  引用  查看    

#30楼  2008-09-04 10:47 非主流程序员      
但是,貌似是IE自己不支持标准啊,只是IE成了事实上的标准。
IE8在ACID3下只有不到20分啊,可Chrome有70多分。Safari是100分。不信你去试试。
  回复  引用  查看    

我的观点:虽然IE份额大,但被搞死是早晚的事情,除非微软能彻底抛弃老版本IE的历史包袱,google最大的敌人应该是firefox,两者渊源极深(可以参见CB上的Chrome开发内幕),Mozilla做的不仅是一个浏览器,而是一个优秀的开发平台,握有add-ons这样的法宝,遵循W3C标准,可扩展性极佳,我是FF粉丝,不过更希望google能在可扩展性方面超过firefox
  回复  引用  查看    

#32楼  2008-09-04 13:02 Gray Zhang      
@非主流程序员
其实最早IE就是标准,只是mozilla,opera等看不爽了就合作弄了个标准给w3c,然后IE不得不慢慢向w3c靠拢,IE也很无耐啊
  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-09-03 15:55 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接:
所属专题: Google Chrome