RetinaディスプレイのiPhoneで主にソーシャルゲームをやっていると、Canvasがモヤっとボヤっとしているのをよく見かけますが、これがすごく嫌です。良いイラストを使っていても、これのせいで台無しと言っても過言ではありません。
原因は主に「小数を含む座標を指定して描画」しているのと、Retinaに対応していない、通常の解像度で描画していることです。
前途のようなサイトでは、FlashをHTML5に変換するライブラリを用いている事が多いので、柔軟な制御が出来ない場合が多いですが・・・。

canvasは、少数を含む座標に描画すると、自動的に中間色で補完してくれます。このため、画面がボヤっとして見えます。これは、OFFにすることは出来ないようです。
この補正は、描画した時点でリアルタイムに発動するので、描画後に、下記に紹介する高解像度での出力方法のように拡大しても、ボヤっとしたまま変わりません。

Retinaに対応した高解像度のcanvasで出力するには、やり方は色々ありますが、width/height属性を2倍にしつつ、CSSのwidth/heightを通常サイズにすればいいようです。HTML5 ROCKSで紹介されていて、window.devicePixelRatio を参照することで、実際のディスプレイの有効解像度の倍率がわかります。

(前略)
canvas.width = oldWidth * ratio;
canvas.height = oldHeight * ratio;
canvas.style.width = oldWidth + 'px';
canvas.style.height = oldHeight + 'px';
//この後に描画

引用元: HTML5 ROCKS 高DPI canvas
http://www.html5rocks.com/en/tutorials/canvas/hidpi/