This method reads `this._dpi` but does not set it...
I think it should either not care at all about `this._dpi`, or it should both read it and set it if it is not defined (so that calling it multiple times does not recompute the value).