阅读更多

7顶
1踩

互联网

转载新闻 IE9:为什么 Acid3 无足轻重

2010-03-22 12:02 by 副主编 just_cool 评论(4) 有3553人浏览

微软 IE9 的开发方向非常清晰,支持 HTML5,支持标准,在本周举行的 MIX10 上,IE 项目总管 Dean Hachamovitch 如是说。在 IE9 的开发上,微软开始注重真实世界的需求,他们对全球前 7000个网站进行实时监控,分析他们使用的每一种 JavaScript 和 DOM API 并为之提供全面支持。

 

在这 7000 份用例的背后,有不少与 HTML5 有关,对此,微软并没有透露更细细节,但考虑到 HTML 视频和 SVG 动画的份量,显然它们是未来 HTML5 网站的核心。然而对 HTML5 的专注并不意味着微软会在诸如 SunSpider 和 Acid3 一类的测试上花大功夫,随着 IE9 的开发,他们的 Acid3 得分虽然会继续提高,但这不是 IE9 看重的东西。Acid3 是一种机械式测试,非系统化测试,你可以将浏览器的性能做得很好,但通不过测试,也可以各项指标做得平平却在 Acid3 上得满分,Acid3 测试虽然有用,但不是面面俱到,尤其是上百种 HTML5 功能并不在测试之列。

 

事实上,对标准的支持有很多层面,CSS 圆角似乎可以说明这个问题,IE9 预览版和 Webkit 都支持 CSS3 圆角,Firefox 的 Gecko 引擎也通过一个扩展支持圆角。圆角是 Web  开发者们梦寐以求的功能,然而,圆角功能在不同的引擎上表现并不一致:

 

下图是设计者希望看到的样子

这是开发者不希望看到的样子

上面那个不希望看到的样子就是一些支持 CSS3 圆角功能的浏览器的真实表现,这有两种可能,要么浏览器错了,要么标准不够严谨,然而,这样的问题,Acid3 是测试不出的,这种问题需要一种系统化的测试才能解决。

 

在设计这类测试的时候,可以发现一些标准中的问题,也可以发现浏览器实现中的错误,Acid3 无法测试出一个浏览器对 HTML5 的支持程度,甚至无法告诉你哪种 HTML5 功能浏览器不支持,这类问题需要一种更全面的测试才能解决。正因为这个原因,微软延续了他们在 IE8 中所作的工作。在 IE8,他们向 W3C 提交了大量 CSS2.1 测试,系统化测试是唯一可以保证满足现实需要的方法。因此,在 IE9 的开发中,微软设计了一种新的测试方法,他们已经将第一批测试提交 W3C,微软不想让 IE9 和其它浏览器拼分数。

 

尽管浏览器之间在某种性能上各有千秋,但他们之间的距离都没有 IE8 那么大,不管怎么说,所有浏览器都应该努力让相同的代码有相同的表现。

 

另外,SunSpider 的 JavaScript 分数也不是 IE9 的目标,SunSpider 测试能够多方面反应浏览器 JavaScript 引擎的性能,但就像真实的网页并非按 Acid3 测试的样子来设计一样,真实的 Web 应用也不是按 SunSpider 来写的,真实的 Web 程序要做很多优化,让网页迅速加载,同时让那些复杂的操作在后台快速进行,SunSpider 测试不了这些东西。SunSpider 不代表真实的世界,开发者们应该面向真实世界,而不是测试平台进行开发。

 

微软希望他们对 HTML5 的支持稳定而强健,这意味着 IE9 对 HTML5 的支持不会面面俱到,HTML5 目前还有很多变数,另外,有些 HTML5 功能虽然可靠,但并不在微软 7000 个用例之列,最终的 IE9 可能会和别的浏览器走不一样的路,IE9 在标准支持上如果再有差池,对微软将是一个很大的纠结,不过,IE9 目前的方向是正确的。

 

本文国际来源:http://arstechnica.com/microsoft/news/2010/03/ie9-standards-and-why-acid3-isnt-the-priority.ars

 

中文编译来源:锐商企业CMS 网站内容管理系统 官方网站

来自: comsharp
7
1
评论 共 4 条 请登录后发表评论
4 楼 kjj 2010-03-22 20:34
xingqiliudehuanghun 写道
不期待,IE系列的Bug和优点都非常突出,一个不兼容标准的版本最后累的还是开发人员

用户说了算
3 楼 xingqiliudehuanghun 2010-03-22 17:51
不期待,IE系列的Bug和优点都非常突出,一个不兼容标准的版本最后累的还是开发人员
2 楼 Jekey 2010-03-22 15:08
纠结
1 楼 moses3017 2010-03-22 13:25
很好,期待ie9

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • VB单元线程模型实现多线程

    简单的测试工程,记得编译后测试. 运行时可以打开任务管理器,调出"线程数"项看看线程情况.

  • vc网站

    VC论坛:     1.编程先锋         http://wlbookwl.myrice.com   (后起之秀,实力可畏,吐血推荐!)         2.Visual   C++-MFC开发指南首页       http://www.vchelp.net     (内容很丰富)       3.程序家园         http://www.vcfan.co

  • COM组件概念---线程模型

    COM提供的线程模型共有三种:Single-Threaded Apartment(STA 单线程套间);Multithreaded Apartment(MTA 多线程套间);Neutral Apartment/Thread Neutral Apartment/Neutral Threaded Apartment(NA/TNA/NTA 中立线程套间,由COM+提供)。解释:STA

  • 当前线程不在单线程单元中,因此无法实例化 ActiveX 控件解决办法

    <br /><br />(一)引经据典(MSDN):<br />1.单元是进程内部具有相同线程访问要求的对象的逻辑容器。同一单元中的所有对象都可以接收从该单元中的任何线程发出的调用。.NET Framework 不使用单元,托管对象自己负责以线程安全的方式使用所有共享资源。<br />由于 COM 类使用单元,因此公共语言运行库需要在 COM interop 的情况下调用 COM 对象时创建并初始化一个单元。托管线程可以创建并进入只允许有一个线程的单线程单元 (STA) 或者包含一个或多个线程的多线程单元

  • COM线程模型

    线程模型是一种数学模型,专门针对多线程编程而提供的算法,但也仅是算法,不是实现。本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的,就像说明Windows是如何实现线程这个数学模型的一样,最后指明一下跨套间调用和各种类型套间编写的要求以帮助理解。希望读者对于Windows操作系统的线程这个概念相当熟悉,对何谓“线程安全的”亦非常了解。 COM线程模型     C

  • COM线程模型详解(转)

    (http://tech.itdb.cn/n/200405/03/n20040503_13376.shtml)COM线程模型详解      线程模型是一种数学模型,专门针对多线程编程而提供的算法,但也仅是算法,不是实现。本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的,就像说明Wind

  • COM线程模型详解

    线程模型是一种数学模型,专门针对多线程编程而提供的算法,但也仅是算法,不是实现。本文讲解COM提出的各个类型的线程模型,再说明COM运行时期库是如何实现它们的,就像说明Windows是如何实现线程这个数学模型的一样,最后指明一下跨套间调用和各种类型套间编写的要求以帮助理解。希望读者对于Windows操作系统的线程这个概念相当熟悉,对何谓“线程安全的”亦非常了解。   COM线程模型

  • 6、线程的概念和多线程模型

    内核支持线程(Kernel Supported Threads)系统在创建一个新进 程时,便为它分配一个任务数据区 PTDA(Per Task Data Area),其中包括若干个线程控制块TCB空间。 只要其所创建的线程数目未超过系统的允许值(通常为数十至数百个),系统可再为之分配新的TCB空间 用户级线程(User Level Threads)1、运行时系统2、内核控制线程(轻型进程 Light

  • 常见的线程模型

    常见的线程模型 对于服务器应用而言,无论是web应用服务还是DB服务,高并发请求始终是一个绕不开的话题当有大量请求并发访问时,一定伴随着资源的不断创建和释放,导致资源利用率低,降低了服务质量。 1、单线程服务器编程模型 Redis redis是单线程来处理命令的,所以一条命令从客户端到到服务端不会立刻被执行,所有命令都回进入到一个队列中,然后逐个执行。 Node.Js Node.Js基...

  • COM的线程模型

    COM,ThreadingModel

  • COM线程模型-套间

        Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE

  • COM线程模型解析COM套间

    COM线程模型 COM套间 STA套间 MTA套间

  • COM线程模型 - MTA接口 (传递MTA COM对象给STA套间线程)

    接上篇,能否把一个MTA套间里面创建的COM对象传递个STA套间

  • 避免单线程单元 (STA) COM 组件

    默认情况下,ASP.NET 不允许任何 STA COM 组件在页面内运行。若要运行它们,必须在 .aspx 文件内将 ASPCompat=true 属性包含在 @ Page 指令中。这样就将执行用的线程池切换到 STA 线程池,而且使 HttpContext 和其他内置对象可用于 COM 对象。前者也是一种性能优化,因为它避免了将多线程单元 (MTA) 封送到 STA 线程的任何调用。 ...

  • COM线程模型(五)

    根据上面所说,STA其实和MTA逻辑上是完全一样的,只是一个是关联一个线程,一个是关联多个线程而已。但把它们分开是必要的,因为线程安全就是针对是一个线程还是多个线程。而NA之所以不关联线程是因为它的目的是消除上面跨套间调用时产生的线程切换损耗,关联线程没有任何意义。 COM强行规定(不遵守也没辙,因为全是COM实现套间的,根本没有插手的余地)一个进程可以拥有多个STA的套间,但只能拥有一个M

  • 什么是单线程单元(STA)什么是多线程单元(MTA)

    最近在解决问题的时候不得不使用线程,从而接触到了STA和MTA,度娘给的解释大多语焉不详。在WikiPedia上面看到了比较清楚的描述,趁着能访问的间隙麻利的摘抄下来分享和自我提升。 Apartment type Description Single-Threaded Apartment[17] (STA), (ThreadingModel=Apartment) A single ...

  • COM线程模型-套间(新)

    严重声明: [原]crybird如有转载请注明出处。 今天偶然看到,我10年前对COM的心得笔记,竟然有不止一人引用,倍感欣慰。于是,把现在的心得加以补充。 本故事纯属虚构,只想以轻松的心情理解COM,别无他意(对各方没有任何不友好、不尊重之意,谢谢理解)。 【某外包公司的事故】 背景,COM规范太复杂了,按规范编写服务组件和客户端调用,代码量太大,快没人用了。。。 第一回~[主线程内...

Global site tag (gtag.js) - Google Analytics