2011-09-26 167 views
1

以下CSS背景大小和漸變應用於大型div時會導致Firefox掛起/崩潰。渲染漸變可能非常密集,但是有誰知道爲什麼Firefox在Webkit處理類似的CSS時不會崩潰而不會崩潰?這個CSS爲什麼會導致Firefox掛起/崩潰?

background-size: 4px 4px; 
background-image: -moz-linear-gradient(135deg, rgba(255, 255, 255, .02) 25%, transparent 25%, 
    transparent 50%, rgba(255, 255, 255, .02) 50%, rgba(255, 255, 255, .02) 75%, 
    transparent 75%, transparent); 

貌似降低背景大小導致Firefox崩潰「難」,因爲我假定這將導致更多的梯度,以呈現。

崩潰的6.0.2,5.0.1,但呈現在3.6.22非常緩慢。

+0

什麼版本?你能提供一個測試用例嗎? http://jsfiddle.net//http://jsbin.com/。另外:https://bugzilla.mozilla.org/ – thirtydot

+0

這是WORKSFORME。 –

+0

請參閱http://jsfiddle.net/C8dTT/ - 適用於Firefox 6和Firefox 9.0a1。 –

回答

2

沒有崩潰我在任的Firefox 6或Firefox 9.0a1使用http://jsfiddle.net/C8dTT/2/作爲測試案例,它只是掛了一段時間,但最終會得到實現。計算梯度的效率顯然很低,需要很長時間 - 而且這並不能幫助您讓瀏覽器爲網頁的每個4x4字段重複計算。有趣的是,當我在調試器中停止執行時,運行的代碼屬於Intel圖形驅動程序。如果在Firefox中將gfx.direct2d.disabled首選項設置爲false,也沒有問題。因此,根本原因可能是Direct2D或圖形驅動程序中的一個錯誤 - 但仍然值得在https://bugzilla.mozilla.org/處提交錯誤報告,但他們會想要解決該病例。

需要注意的是Firefox 3.6的沒有GPU加速這就是爲什麼你沒有看到掛在那裏。