Ticket #30627

crisp-edgesのサポート

Open Date: 2013-01-30 12:13 Last Update: 2013-02-02 15:18

Reporter:
Owner:
(None)
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

image-rendering:crisp-edges;は、速度向上に効果がありそうなので、サポートしておきたい。 http://stackoverflow.com/questions/3900436/image-scaling-by-css-is-there-a-webkit-alternative-for-moz-crisp-edges

Ticket History (3/3 Histories)

2013-01-30 12:13 Updated by: tsugehara
  • New Ticket "crisp-edgesのサポート" created
2013-02-02 14:59 Updated by: tsugehara
Comment

調査した。環境は諸事情でMac 10.6のみ。

Chrome

version 24時点ではこのCSSは意味が無い。

image-rendering:-webkit-optimize-contrast;

代わりに、contextに対するwebkitImageSmoothingEnabledが使える。

context.webkitImageSmoothingEnabled = false;

描画結果は正しいが、意外な事に逆に遅い。おそらくスムーズ描画の際はGPUアクセラレーションがきいており、これを切ることでCPU処理になっているのではないかと。

高速化としては、むしろ使わない方がいいという結果。

FireFox

今回の調査で唯一高速化した。さすが本家本元。

CSSも効果はあるが、contextでやった方が楽なのでこちらで検証。

context.mozImageSmoothingEnabled = false;

trueだと60fpsぎりぎりのものが、falseにすると80くらい出ており結構違う。

IE

不明

Safari

指定方法無し。

おそらくChromeと同じwebkit由来の理由でimage-renderingがきかず、Chromium系で実装されたwebkitImageSmoothingの実装が間に合ってない or 実装されてない。

Opera

指定出来てるような出来てないような。

contextには指定方法おそらく無し。

一応これが使えると書いてあるが、テストプログラムではChromeやFireFoxのようなわかりやすい結果にならず。

image-rendering: -o-crisp-edges;

一応やってみたところ、あまり差異が見受けられず。ちょっと遅いようにも見えたが誤差の範囲。

2013-02-02 15:18 Updated by: tsugehara
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2013-02-02 15:18
Comment

r24 でサポートしておいた。

速度向上にはFireFox以外に効果がないため、あまりにもマニアックなオプションになってしまったがindex.htmlからリンクは貼らないが、検証用にcrisp-edges.htmlも作ってある。

なお唯一不明だったOperaだが、テストプログラム上で見る限りやはりサポートしてないと思われる。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login