2010-06-04 5 views
0

Existe-t-il un moyen de mesurer les performances de défilement dans une application iPhone, p. mises à jour par seconde? J'essaie différentes techniques pour améliorer la performance de défilement, mais il est parfois difficile de juger si elles ont effectivement un effet.Mesure des performances de défilement progressif

Répondre

2

Si vous avez un délégué de défilement, vous pouvez implémenter la méthode scrollViewDidScroll:. Plus précisément:

//header: 
@interface MyClass : NSObject <UIScrollViewDelegate> { 
    CFAbsoluteTime last; 
    int updateCount; 
    CFTimeInterval timeTotal; 
} 
@end 

//implementation: 
@implementation MyClass 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
    CFAbsoluteTime time = CFAbsoluteTimeGetCurrent(); 
    if (last > 0) { 
     timeTotal += time - last; 
     ++updateCount; 
     if (timeTotal > 1) { 
      NSLog(@"Updates Per Second: %.2f", updateCount/timeTotal); 
      updateCount = 0; 
      timeTotal = 0; 
     } 
    } 
    last = time; 
} 

@end 

Quelque chose comme ça. Il n'a pas été testé, la journalisation peut donc être incorrecte. Mais pour l'utiliser, affectez simplement votre délégué à la propriété scrollview.delegate.

Questions connexes