Example from the post Canvas mapping with a retina display.
The canvas size is changed according to the devicePixelRatio and scaled too, so the blur efefct doesn't appear.
Modified http://d3js.org/topojson.v1.min.js to a secure url
https://d3js.org/d3.v4.min.js
https://d3js.org/topojson.v1.min.js