3 ms·
The solution is rather simple - start with a high-res asset, put it in the drawable-hdpi folder, then downscale by 66% to get the mid-res assets. This techniqu
by dieterrams 16y ago
The solution is rather simple - start with a high-res asset, put it in the drawable-hdpi folder, then downscale by 66% to get the mid-res assets.
This technique doesn't work for pixel art, which can only be scaled up by whole number values. In certain cases where a display's resolution isn't a whole number multiple of the base resolution, you can get away with slightly shrinking or extending the viewable area. But 480x320 to 800x480 is a particularly inconvenient shift, as assets cannot be scaled up without incurring a large loss in viewable area, and they cannot be kept the same without requiring a large increase in viewable area.
Incidentally, this is what iPhone developers will have to start doing this summer. The new iPhone's screen is 2x the resolution. Assuming Apple wants to keep the iPhone forward-compatible and run OS3-based apps, that means image resources will be upscaled by the phone and look fuzzy, or developers will have to update their apps with higher-res assets.
Not true at all. It would only look fuzzy if the screen size were significantly larger. But in fact the screen size is roughly the same, only with a much higher PPI. Because the new resolution is a whole number multiple of the old, all apps can be trivially scaled with 2X nearest-neighbor scaling and look exactly the same as they would on a 480x320 screen.
As for framerates, you'll never get away from dealing with different hardware, no matter if you do Android, Web, Desktop or iPhone development. I have a first-gen iPhone and you have no clue how frustrating (ie slow) it is running many apps on it.
I actually do have a first-gen iPhone. In my experience, it hasn't been that slow for the majority of apps I want to use. But that's sort of irrelevant. As far as a developer is concerned, they only need to own two devices (three after the new iPhone is released) to capture the significant variations in hardware: a first-gen or 3G iPhone, and a 3GS. (Alternatively, and more cheaply, a first-gen and third-gen iPod touch, if you have no need for camera, GPS, etc.)
And it's true that you can never get away from dealing with different hardware, but the whole point is how much different hardware you have to deal with. Apple has been very careful about keeping that to a minimum while satisfying demand for better hardware.
- deleted 16y ago[deleted]
- theBobMcCormick 16y agoSupporting multiple devices may be less convenient for developers (although I'd argue that the slow expansion of the number and diversity of hardware device in the i* platform will slowly bring the same problems to that ecosystem), but regardless, it's certainly not a new problem, it's something that Mac, PC, Web, etc. developers have had to deal with for ages. Mobile app developers will adjust, because they'll want to follow the users. And short of a MAJOR change in the mobile market, the bulk of the users will be on Android: http://www.fool.com/investing/high-growth/2010/05/27/deciphering-androids-smartphone-sales-figures.aspx http://www.fool.com/investing/high-growth/2010/05/27/deciphe...
- spot 16y agothey look fuzzy compared to native resolution apps. apple has also, by denying the problem, failed to provide good APIs for multiresolution. android as faced and addressed the problem from the get-go and has a better solution.
- dieterrams 16y agoSorry, but how on earth do you know pre-iPhone HD apps look fuzzy on the iPhone HD? iPhone apps on the iPad look fuzzy because (A) it does not use nearest-neighbor scaling, and (B) the screen is way larger, with a much lower PPI. It would be surprising if the iPhone HD doesn't use nearest-neighbor scaling. And Apple hasn't denied a problem because it hasn't created one.