Is it better to leave out openGL effects on older devices, or accept slooooow performance? [closed]

StackOverflow https://stackoverflow.com/questions/10471629

  •  06-06-2021
  •  | 
  •  

My app follows the "make everything sparkle" trend, which looks great on iPhone4+ and iPad2+ but chokes a bit on older devices. There are two routes to choose between:

  1. Keep the same look on the app no matter what. Accept that some users will have long load times. In my experience, this seems to be the most common approach, but some great apps (Sword & Sworcery) have intolerably long load times on iPhone 3G, for example.

  2. Detect the phone model and decide (based on my testing benchmarks) to skip certain non-critical animations or effects on older devices. This risks someone seeing it on an older app and thinking "this app looks okay, I guess" rather than "wow".

Aside from "it depends on context", is there a "best practice" or industry standard on this?

EDIT: What I'm using (which might be more objectively useful, skeptics) is this, slimmed down from Erica Sadun's great but bigger class:

+ (NSString *) platform {
  char *m = (char *)"hw.machine";
  return [self getSysInfoByName:m];
}

+ (BOOL) deviceIsLegacy {
  NSString *platform = [self platform];
  // LEGACY DEVICES:
  // iPhone 1, iPhone 3G
  // iPod 1, iPod 2
  // iPad 1

  if ([platform isEqualToString:@"iPhone1,1"]) return YES;
  else if ([platform isEqualToString:@"iPhone1,2"]) return YES;
  else if ([platform isEqualToString:@"iPod1,1"]) return YES;
  else if ([platform isEqualToString:@"iPod2,1"]) return YES;
  else if ([platform isEqualToString:@"iPod2,2"]) return YES;
  else if ([platform isEqualToString:@"iPad1,1"]) return YES;

  return NO;
}
有帮助吗?

解决方案

I think that the only "best practice" which is relevant to your situation, is the one that says don't keep the user waiting if you don't 100% need to!

And if you are worried about branding, well, that's not an issue: You can make a decision to not support older devices (which I personally do not agree with), or you can look and see that Apple themselves do not implement the exact same interface with it's magic in the older devices. They do not show the cool Siri on older devices (you can argue if for reasons regarding sells, or CPU), and they do not allow certain graphic elements, like Background images.

Many people like having background images, or multitasking on their 3G, but when they jailbreak and allow that, they find out why Apple has disabled it.

You can, however, add a small badge which says "best viewed on newer devices", but that can make your customers sad or envious, so...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top