jjgod / blog Random notes by Jjgod Jiang.

Why Cairo?

因为想写一个 lightweight & fast 的文本布局引擎,这两天在留意一些新的图形 API。其实有些都不算很新了,像 Anti-Grain GeometryAmanithXara

曾被誉为“Linux 图形未来希望”的 cairo 广受诟病的是它的效率,尽管从一开始 cairo 便宣称将会利用 glitz 这样的 backend 实现硬件加速的矢量图形绘制,从而达到软件绘制无法达到的效果。结果现在戏剧性的是,cairo 比所有这些用软件绘制的引擎都慢得多

所以才有人写了这么一篇 Why Cairo?,意思大概说得很清楚了,Mozilla 选用 cairo 的借口现在看来是非常苍白无力的,比如说 cairo 引以为傲的“bring vector graphics to print”有多少人需要把网页输出到 PDF/PS?如果最基本的页面渲染都做不到高效,谈何页面印刷的高效?

所以我觉得啊,rendering model 好当然不错,cross-platform 性能好也很好,但 cairo 是不是中 gnome 社群的毒太深了?什么东西都来搞个 backend,结果最后每个 backend 都半死不活的,没错,也许某天 David Reveman 搞定了 xgl 腾出手来整 glitz 了,可 David Reveman 就算搞定了 glitz,也未必能在 win32 下用啊。

… 今天测试的结果是,pango 用 cairo 作 backend,cairo 用 win32 backend,结果渲染一行字 (4 个字母),要半秒钟。嗯,没看错,就是 0.5s。

效率还是很重要的呀,虽然某位大人物说过:

预优化是万恶之源。


12 Comments

我用 trunk 已经有一段时间了,在我的 T23 上(windows xp/512MB/PIII 1.2G) 还算是可用的.

Posted by qyb on 18 April 2006 @ 8pm

有个游戏产品的内测活动,想邀请你参加。能知道你的联络方式嘛?email? email: eric@wizzardcms.com msn: ericmatrix@sohu.com http://spaces.msn.com/piratematrix

Posted by WIZZARD on 19 April 2006 @ 11am

You can contact me via gzjjgod@gmail.com.

But actually I’m not good at playing games..

Posted by jjgod on 19 April 2006 @ 3pm

easy games:)

Posted by WIZZARD on 26 April 2006 @ 7pm

hello jjgod,我在自己的网站中用了贵站的一些样式,当然,没有任何商业用处与目的,如果这样招致你的反感,我会马上修改.我网站url是log4u.net,同时希望你的同意.

Posted by nobita on 26 April 2006 @ 8pm

这是 Fredrik Fahlstad 的设计 :)

Posted by jjgod on 24 May 2006 @ 5am

这里的字体和背景颜色都很好看,看着舒服。我也去看了Fahlstad的站点,这些网页都用重色调做背景显得很酷。我好奇的是你用他的设计征求过他本人同意了吗?虽然这样问有点冒昧,请不要多心我完全是出于好奇。你的连接的站点都让人有新鲜感,就是有的字号太小了,得用Ctrl+放大,可是网页的布局就走形了。希望你尽快研究出汉字在网页上更丰富的表现力。没想到有人在默默地耕耘CSS。中国的网页都是千篇一律,就像总穿着旧衣服早该换了。如果你有现成的模板,我可以说服我们的会员换掉他们的网站符合web标准,就是不知道你怎么收费。我们是中国食品工业协会的会员。如你感兴趣请与我联系。

Posted by anada on 27 May 2006 @ 2pm

这几套 theme 都是作者公布提供下载的。

Posted by jjgod on 28 May 2006 @ 11pm

cairo提供很多后端可以用 ”cairo 用 win32 backend“的测试能测试出它的真正性能吗? 用glitz作为cairo的后端测试试试。

Posted by zhang on 2 June 2006 @ 10pm

zhang:

我没有在做严格的测试,只是陈述 cairo on win32 很慢这个事实。

Posted by jjgod on 3 June 2006 @ 7pm

[...] 銆銆棣栧厛浠嬬粛涓涓 Cairo 搴擄紝娌″惉璇磋繃娌″叧绯伙紝FireFox 鎬诲惉璇磋繃鍚э紵锛丗ireFox 鐨 render 寮曟搸鐢ㄧ殑灏辨槸杩欎釜搴撱侰airo 鏄涓涓璺ㄥ钩鍙扮殑 2D 鍥惧舰搴擄紝鏀鎸佸緢澶 GDI+ 鐨勯珮绾х壒鎬э紝姣斿 Anti-alias锛岀煩闃靛彉鎹㈢瓑绛夛紝浣嗘槸鎹璇 Cairo 鐨勬晥鐜囦笉鏄寰堝ソ锛岃窡鍏跺畠搴撴湁涓瀹氱殑宸璺濄 [...]

Posted by 2ndboy@閲婃斁 3.0 » Blog Archive » 浠嬬粛涓や釜 2D 鍥惧舰搴 on 23 March 2007 @ 9pm

这是国内的博客吗,作的真是棒,支持你

Posted by amway on 7 July 2007 @ 10am

Leave a Comment

Layout Engine 的文档 来写 ikiwiki 的试用报告