這是使用ATI GPU的Mac上的硬件加速問題。
我們運行相同的代碼,畫在畫布上:我們在裝有ATI圖形卡的Mac中遇到了問題;在MacMini上,改爲(配備英特爾GPU),繪圖非常完美。
如果您在Safari菜單的Debug - > Drawing/Compositing標誌下選中「Disable Canvas Accelerated Drawing」,您將會注意到文字周圍沒有更多的透明度錯誤。
Safari 6.0(在Mac OS X 10.7.4上)顯示相同的透明度問題。
- 更新 -
多次調查後,我們可以說,這不是一個GPU的問題,但蘋果的問題:「字體平滑」的LCD顯示器(AppleFontSmoothing設置)的應用程序。
在我們的觀察中,我們測試的兩臺機器:
1 - 的Mac Mini與飛利浦液晶
2 - 的iMac(有自己的液晶顯示器)
第一臺機器沒有顯示問題,因爲系統算法沒有將監視器識別爲LCD監視器。
但使用命令defaults -currentHost write -g AppleFontSmoothing -int 2
強制AppleFontSmoothing,即使在Mac Mini上也會出現問題。
如果您不希望您的應用程序了顯示問題(mantaining畫布硬件加速),你可以設置「webkitFontSmoothing」屬性了畫布對象:
var canvas = document.getElementById('my-canvas');
canvas.style.webkitFontSmoothing = "antialiased"
它可能會幫助診斷問題如果你可以發佈它的錯誤的外觀截圖。 –
用屏幕截圖編輯 –
據我所知,這不是「鋸齒狀和模糊」。字母本身看起來非常好,但它們沒有透明背景。不過,我不知道可能導致什麼。 –