[iOS] fix benchmarking app and update to style v8

This commit is contained in:
Konstantin Käfer
2015-10-02 14:20:07 +02:00
parent 2cbadaaaa3
commit 6a78a4763d
13 changed files with 9027 additions and 4280 deletions

3
.gitignore vendored
View File

@@ -33,8 +33,7 @@
/node_modules
*~
/ios/benchmark/assets/tiles/mapbox.mapbox-streets-v6/
/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2/
/ios/benchmark/assets/tiles/mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/
/ios/benchmark/assets/glyphs/DIN Offc Pro*/
/platform/node/test/actual

View File

@@ -28,6 +28,18 @@
#pragma mark - Setup
+ (void)initialize
{
if (self == [MBXBenchViewController class])
{
[[NSUserDefaults standardUserDefaults] registerDefaults:@{
@"MBXUserTrackingMode": @(MGLUserTrackingModeNone),
@"MBXShowsUserLocation": @NO,
@"MBXDebug": @NO,
}];
}
}
- (void)viewDidLoad
{
[super viewDidLoad];

View File

@@ -47,5 +47,7 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>MGLMapboxMetricsEnabledSettingShownInApp</key>
<true/>
</dict>
</plist>

View File

@@ -3,15 +3,14 @@
set -u
LIST=(
"DIN%20Offc%20Pro%20Regular%2c%20Arial%20Unicode%20MS%20Regular/0-255.pbf"
"DIN%20Offc%20Pro%20Medium%2c%20Arial%20Unicode%20MS%20Bold/0-255.pbf"
"DIN%20Offc%20Pro%20Medium%2c%20Arial%20Unicode%20MS%20Regular/0-255.pbf"
"DIN%20Offc%20Pro%20Medium%2c%20Arial%20Unicode%20MS%20Regular/8192-8447.pbf"
"DIN%20Offc%20Pro%20Bold%2c%20Arial%20Unicode%20MS%20Regular/0-255.pbf"
"DIN%20Offc%20Pro%20Regular%2c%20Arial%20Unicode%20MS%20Regular/256-511.pbf"
"DIN%20Offc%20Pro%20Regular%2c%20Arial%20Unicode%20MS%20Regular/8192-8447.pbf"
"DIN%20Offc%20Pro%20Italic%2c%20Arial%20Unicode%20MS%20Regular/0-255.pbf"
"DIN%20Offc%20Pro%20Medium%2c%20Arial%20Unicode%20MS%20Regular/256-511.pbf"
"DIN%20Offc%20Pro%20Regular%2cArial%20Unicode%20MS%20Regular/0-255.pbf"
"DIN%20Offc%20Pro%20Medium%2cArial%20Unicode%20MS%20Regular/0-255.pbf"
"DIN%20Offc%20Pro%20Bold%2cArial%20Unicode%20MS%20Bold/0-255.pbf"
"DIN%20Offc%20Pro%20Regular%2cArial%20Unicode%20MS%20Regular/256-511.pbf"
"DIN%20Offc%20Pro%20Regular%2cArial%20Unicode%20MS%20Regular/8192-8447.pbf"
"DIN%20Offc%20Pro%20Medium%2cArial%20Unicode%20MS%20Regular/8192-8447.pbf"
"DIN%20Offc%20Pro%20Italic%2cArial%20Unicode%20MS%20Regular/0-255.pbf"
)
# from https://gist.github.com/cdown/1163649

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,166 +4,87 @@ set -u
LIST=(
# paris
"mapbox.mapbox-streets-v6/11/1037/704.vector.pbf"
"mapbox.mapbox-streets-v6/11/1037/705.vector.pbf"
"mapbox.mapbox-streets-v6/11/1038/704.vector.pbf"
"mapbox.mapbox-streets-v6/11/1038/705.vector.pbf"
"mapbox.mapbox-streets-v6/11/1036/704.vector.pbf"
"mapbox.mapbox-streets-v6/11/1037/703.vector.pbf"
"mapbox.mapbox-streets-v6/11/1036/705.vector.pbf"
"mapbox.mapbox-streets-v6/11/1038/703.vector.pbf"
"mapbox.mapbox-streets-v6/11/1036/703.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1037/704.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1037/705.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1038/704.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1038/705.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1036/704.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1037/703.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1036/705.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1038/703.vector.pbf"
"mapbox.mapbox-terrain-v2/11/1036/703.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1037/704.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1037/705.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1038/704.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1038/705.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1036/704.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1037/703.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1036/705.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1038/703.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/11/1036/703.vector.pbf"
# paris2
"mapbox.mapbox-streets-v6/13/4150/2819.vector.pbf"
"mapbox.mapbox-streets-v6/13/4149/2819.vector.pbf"
"mapbox.mapbox-streets-v6/13/4150/2818.vector.pbf"
"mapbox.mapbox-streets-v6/13/4149/2820.vector.pbf"
"mapbox.mapbox-streets-v6/13/4148/2819.vector.pbf"
"mapbox.mapbox-streets-v6/13/4149/2818.vector.pbf"
"mapbox.mapbox-streets-v6/13/4150/2817.vector.pbf"
"mapbox.mapbox-streets-v6/13/4148/2820.vector.pbf"
"mapbox.mapbox-streets-v6/13/4148/2818.vector.pbf"
"mapbox.mapbox-streets-v6/13/4149/2817.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4150/2819.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4149/2819.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4150/2818.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4149/2820.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4148/2819.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4149/2818.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4150/2817.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4148/2820.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4148/2818.vector.pbf"
"mapbox.mapbox-terrain-v2/13/4149/2817.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4150/2819.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2819.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4150/2818.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4148/2819.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2818.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4148/2818.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4150/2820.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2820.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4149/2817.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/13/4148/2817.vector.pbf"
# alps
"mapbox.mapbox-streets-v6/6/34/23.vector.pbf"
"mapbox.mapbox-streets-v6/6/34/22.vector.pbf"
"mapbox.mapbox-streets-v6/6/33/23.vector.pbf"
"mapbox.mapbox-streets-v6/6/33/22.vector.pbf"
"mapbox.mapbox-streets-v6/6/34/21.vector.pbf"
"mapbox.mapbox-streets-v6/6/32/23.vector.pbf"
"mapbox.mapbox-streets-v6/6/32/22.vector.pbf"
"mapbox.mapbox-streets-v6/6/33/21.vector.pbf"
"mapbox.mapbox-streets-v6/6/32/21.vector.pbf"
"mapbox.mapbox-terrain-v2/6/34/23.vector.pbf"
"mapbox.mapbox-terrain-v2/6/34/22.vector.pbf"
"mapbox.mapbox-terrain-v2/6/33/23.vector.pbf"
"mapbox.mapbox-terrain-v2/6/33/22.vector.pbf"
"mapbox.mapbox-terrain-v2/6/34/21.vector.pbf"
"mapbox.mapbox-terrain-v2/6/32/23.vector.pbf"
"mapbox.mapbox-terrain-v2/6/32/22.vector.pbf"
"mapbox.mapbox-terrain-v2/6/33/21.vector.pbf"
"mapbox.mapbox-terrain-v2/6/32/21.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/23.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/22.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/23.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/22.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/21.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/23.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/22.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/21.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/21.vector.pbf"
# us east
"mapbox.mapbox-streets-v6/5/9/12.vector.pbf"
"mapbox.mapbox-streets-v6/5/8/12.vector.pbf"
"mapbox.mapbox-streets-v6/5/9/13.vector.pbf"
"mapbox.mapbox-streets-v6/5/8/13.vector.pbf"
"mapbox.mapbox-streets-v6/5/9/11.vector.pbf"
"mapbox.mapbox-streets-v6/5/7/12.vector.pbf"
"mapbox.mapbox-streets-v6/5/8/11.vector.pbf"
"mapbox.mapbox-streets-v6/5/7/13.vector.pbf"
"mapbox.mapbox-streets-v6/5/7/11.vector.pbf"
"mapbox.mapbox-terrain-v2/5/9/12.vector.pbf"
"mapbox.mapbox-terrain-v2/5/8/12.vector.pbf"
"mapbox.mapbox-terrain-v2/5/9/13.vector.pbf"
"mapbox.mapbox-terrain-v2/5/8/13.vector.pbf"
"mapbox.mapbox-terrain-v2/5/9/11.vector.pbf"
"mapbox.mapbox-terrain-v2/5/7/12.vector.pbf"
"mapbox.mapbox-terrain-v2/5/8/11.vector.pbf"
"mapbox.mapbox-terrain-v2/5/7/13.vector.pbf"
"mapbox.mapbox-terrain-v2/5/7/11.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/9/12.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/8/12.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/9/13.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/8/13.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/9/11.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/7/12.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/8/11.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/7/13.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/5/7/11.vector.pbf"
# greater la
"mapbox.mapbox-streets-v6/9/88/204.vector.pbf"
"mapbox.mapbox-streets-v6/9/88/205.vector.pbf"
"mapbox.mapbox-streets-v6/9/89/204.vector.pbf"
"mapbox.mapbox-streets-v6/9/89/205.vector.pbf"
"mapbox.mapbox-streets-v6/9/87/204.vector.pbf"
"mapbox.mapbox-streets-v6/9/88/203.vector.pbf"
"mapbox.mapbox-streets-v6/9/87/205.vector.pbf"
"mapbox.mapbox-streets-v6/9/89/203.vector.pbf"
"mapbox.mapbox-streets-v6/9/87/203.vector.pbf"
"mapbox.mapbox-terrain-v2/9/88/204.vector.pbf"
"mapbox.mapbox-terrain-v2/9/88/205.vector.pbf"
"mapbox.mapbox-terrain-v2/9/89/204.vector.pbf"
"mapbox.mapbox-terrain-v2/9/89/205.vector.pbf"
"mapbox.mapbox-terrain-v2/9/87/204.vector.pbf"
"mapbox.mapbox-terrain-v2/9/88/203.vector.pbf"
"mapbox.mapbox-terrain-v2/9/87/205.vector.pbf"
"mapbox.mapbox-terrain-v2/9/89/203.vector.pbf"
"mapbox.mapbox-terrain-v2/9/87/203.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/88/204.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/88/205.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/89/204.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/89/205.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/87/204.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/88/203.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/87/205.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/89/203.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/9/87/203.vector.pbf"
# sf
"mapbox.mapbox-streets-v6/14/2621/6333.vector.pbf"
"mapbox.mapbox-streets-v6/14/2620/6333.vector.pbf"
"mapbox.mapbox-streets-v6/14/2621/6334.vector.pbf"
"mapbox.mapbox-streets-v6/14/2620/6334.vector.pbf"
"mapbox.mapbox-streets-v6/14/2621/6332.vector.pbf"
"mapbox.mapbox-streets-v6/14/2619/6333.vector.pbf"
"mapbox.mapbox-streets-v6/14/2620/6332.vector.pbf"
"mapbox.mapbox-streets-v6/14/2619/6334.vector.pbf"
"mapbox.mapbox-streets-v6/14/2619/6332.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2621/6333.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2620/6333.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2621/6334.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2620/6334.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2621/6332.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2619/6333.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2620/6332.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2619/6334.vector.pbf"
"mapbox.mapbox-terrain-v2/14/2619/6332.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2621/6333.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2620/6333.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2621/6334.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2620/6334.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2621/6332.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2619/6333.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2620/6332.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2619/6334.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/14/2619/6332.vector.pbf"
# oakland
"mapbox.mapbox-streets-v6/12/657/1582.vector.pbf"
"mapbox.mapbox-streets-v6/12/657/1583.vector.pbf"
"mapbox.mapbox-streets-v6/12/658/1582.vector.pbf"
"mapbox.mapbox-streets-v6/12/658/1583.vector.pbf"
"mapbox.mapbox-streets-v6/12/656/1582.vector.pbf"
"mapbox.mapbox-streets-v6/12/657/1581.vector.pbf"
"mapbox.mapbox-streets-v6/12/656/1583.vector.pbf"
"mapbox.mapbox-streets-v6/12/658/1581.vector.pbf"
"mapbox.mapbox-streets-v6/12/656/1581.vector.pbf"
"mapbox.mapbox-terrain-v2/12/657/1582.vector.pbf"
"mapbox.mapbox-terrain-v2/12/657/1583.vector.pbf"
"mapbox.mapbox-terrain-v2/12/658/1582.vector.pbf"
"mapbox.mapbox-terrain-v2/12/658/1583.vector.pbf"
"mapbox.mapbox-terrain-v2/12/656/1582.vector.pbf"
"mapbox.mapbox-terrain-v2/12/657/1581.vector.pbf"
"mapbox.mapbox-terrain-v2/12/656/1583.vector.pbf"
"mapbox.mapbox-terrain-v2/12/658/1581.vector.pbf"
"mapbox.mapbox-terrain-v2/12/656/1581.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/657/1582.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/657/1583.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/658/1582.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/658/1583.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/656/1582.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/657/1581.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/656/1583.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/658/1581.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/12/656/1581.vector.pbf"
# germany
"mapbox.mapbox-streets-v6/6/34/21.vector.pbf"
"mapbox.mapbox-streets-v6/6/34/22.vector.pbf"
"mapbox.mapbox-streets-v6/6/33/21.vector.pbf"
"mapbox.mapbox-streets-v6/6/33/22.vector.pbf"
"mapbox.mapbox-streets-v6/6/34/20.vector.pbf"
"mapbox.mapbox-streets-v6/6/32/21.vector.pbf"
"mapbox.mapbox-streets-v6/6/33/20.vector.pbf"
"mapbox.mapbox-streets-v6/6/32/22.vector.pbf"
"mapbox.mapbox-streets-v6/6/32/20.vector.pbf"
"mapbox.mapbox-terrain-v2/6/34/21.vector.pbf"
"mapbox.mapbox-terrain-v2/6/34/22.vector.pbf"
"mapbox.mapbox-terrain-v2/6/33/21.vector.pbf"
"mapbox.mapbox-terrain-v2/6/33/22.vector.pbf"
"mapbox.mapbox-terrain-v2/6/34/20.vector.pbf"
"mapbox.mapbox-terrain-v2/6/32/21.vector.pbf"
"mapbox.mapbox-terrain-v2/6/33/20.vector.pbf"
"mapbox.mapbox-terrain-v2/6/32/22.vector.pbf"
"mapbox.mapbox-terrain-v2/6/32/20.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/34/20.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/33/20.vector.pbf"
"mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v6/6/32/20.vector.pbf"
)
for OUTPUT in ${LIST[@]} ; do

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
{"attribution":"<a href=\"https://www.mapbox.com/about/maps/\" target=\"_blank\">&copy; Mapbox &copy; OpenStreetMap</a> <a class=\"mapbox-improve-map\" href=\"https://www.mapbox.com/map-feedback/\" target=\"_blank\">Improve this map</a>","bounds":[-180,-85.0511,180,85.0511],"center":[0,0,3],"description":"","filesize":0,"format":"pbf","id":"mapbox.mapbox-terrain-v2","maskLevel":9,"maxzoom":14,"minzoom":0,"name":"Mapbox Terrain V2","private":true,"scheme":"xyz","tilejson":"2.0.0","tiles":["asset://tiles/mapbox.mapbox-terrain-v2/{z}/{x}/{y}.vector.pbf"],"vector_layers":[{"description":"Generalized landcover classification","fields":{"class":"One of: wood, scrub, grass, crop, snow"},"id":"landcover","maxzoom":22,"minzoom":0},{"description":"","fields":{"class":"One of: shadow, highlight","level":"Brightness %. One of: 94, 90, 89, 78, 67, 56"},"id":"hillshade","maxzoom":22,"minzoom":0},{"description":"Elevation contour polygons","fields":{"ele":"Integer. The elevation of the contour in meters.","index":"Indicator for every 2nd, 5th, or 10th contour. Coastlines are given -1. One of: 2, 5, 10, -1, null"},"id":"contour","maxzoom":22,"minzoom":0}]}

View File

@@ -1,140 +0,0 @@
#import "MBXBenchViewController.h"
#import <mbgl/ios/MGLMapView.h>
#import <mbgl/ios/MGLMapView_private.h>
#include "locations.hpp"
#include <chrono>
@interface MBXBenchViewController () <MGLMapViewDelegate>
@property (nonatomic) MGLMapView *mapView;
@end
@implementation MBXBenchViewController
#pragma mark - Setup
- (void)viewDidLoad
{
[super viewDidLoad];
NSURL* url = [[NSURL alloc] initWithString:@"asset://styles/streets-v8.json"];
self.mapView = [[MGLMapView alloc] initWithFrame:self.view.bounds accessToken:nil styleURL:url];
self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.mapView.delegate = self;
self.mapView.zoomEnabled = NO;
self.mapView.scrollEnabled = NO;
self.mapView.rotateEnabled = NO;
self.mapView.userInteractionEnabled = YES;
[self.mapView setDebugActive:NO];
[self startBenchmarkIteration];
[self.view addSubview:self.mapView];
}
using Clock = std::chrono::steady_clock;
using TimePoint = Clock::time_point;
template <typename Duration>
inline int64_t Microseconds(Duration d) {
return std::chrono::duration_cast<std::chrono::microseconds>(d).count();
}
size_t idx = 0;
enum class State { None, WaitingForAssets, WarmingUp, Benchmarking } state = State::None;
int frames = 0;
TimePoint started;
std::vector<std::pair<std::string, double>> result;
static const int warmupDuration = 20; // frames
static const int benchmarkDuration = 200; // frames
- (void)startBenchmarkIteration
{
if (mbgl::bench::locations.size() > idx) {
const auto& location = mbgl::bench::locations[idx];
[self.mapView setCenterCoordinate:CLLocationCoordinate2DMake(location.latitude, location.longitude) zoomLevel:location.zoom animated:NO];
self.mapView.direction = location.bearing;
state = State::WaitingForAssets;
NSLog(@"Benchmarking \"%s\"", location.name.c_str());
NSLog(@"- Loading assets...");
} else {
// Do nothing. The benchmark is completed.
NSLog(@"Benchmark completed.");
NSLog(@"Result:");
size_t colWidth = 0;
for (const auto& row : result) {
colWidth = std::max(row.first.size(), colWidth);
}
for (const auto& row : result) {
NSLog(@"| %-*s | %4.1f fps |", int(colWidth), row.first.c_str(), row.second);
}
exit(0);
}
}
- (void)mapViewDidFinishRenderingMap:(MGLMapView *)mapView fullyRendered:(BOOL)fullyRendered
{
(void)mapView;
(void)fullyRendered;
if (state == State::Benchmarking)
{
frames++;
if (frames >= benchmarkDuration)
{
state = State::None;
// Report FPS
const auto duration = Microseconds(Clock::now() - started);
const auto fps = double(frames * 1e6) / duration;
result.emplace_back(mbgl::bench::locations[idx].name, fps);
NSLog(@"- FPS: %.1f", fps);
// Start benchmarking the next location.
idx++;
[self startBenchmarkIteration];
} else {
[mapView invalidate];
}
return;
}
else if (state == State::WarmingUp)
{
frames++;
if (frames >= warmupDuration)
{
frames = 0;
state = State::Benchmarking;
started = Clock::now();
NSLog(@"- Benchmarking for %d frames...", benchmarkDuration);
}
[mapView invalidate];
return;
}
else if (state == State::WaitingForAssets)
{
if ([mapView isFullyLoaded])
{
// Start the benchmarking timer.
state = State::WarmingUp;
[self.mapView emptyMemoryCache];
NSLog(@"- Warming up for %d frames...", warmupDuration);
[mapView invalidate];
}
return;
}
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
@end

View File

@@ -1,63 +0,0 @@
{
'includes': [
'../../gyp/common.gypi',
],
'targets': [
{ 'target_name': 'ios-bench',
'product_name': 'Bench GL',
'type': 'executable',
'product_extension': 'app',
'mac_bundle': 1,
'mac_bundle_resources': [
'<!@(find ../ios/benchmark/img -type f)',
'assets/glyphs',
'assets/sprites',
'assets/styles',
'assets/tiles',
],
'dependencies': [
'../mbgl.gyp:core',
'../mbgl.gyp:platform-<(platform_lib)',
'../mbgl.gyp:http-<(http_lib)',
'../mbgl.gyp:asset-<(asset_lib)',
'../mbgl.gyp:cache-<(cache_lib)',
],
'sources': [
'./main.m',
'./MBXBenchAppDelegate.h',
'./MBXBenchAppDelegate.m',
'./MBXBenchViewController.h',
'./MBXBenchViewController.mm',
'./locations.hpp',
'./locations.cpp',
],
'xcode_settings': {
'SDKROOT': 'iphoneos',
'SUPPORTED_PLATFORMS': 'iphoneos',
'IPHONEOS_DEPLOYMENT_TARGET': '7.0',
'INFOPLIST_FILE': '../ios/benchmark/app-info.plist',
'TARGETED_DEVICE_FAMILY': '1,2',
'COMBINE_HIDPI_IMAGES': 'NO', # don't merge @2x.png images into .tiff files
'CLANG_ENABLE_OBJC_ARC': 'YES',
'CLANG_ENABLE_MODULES': 'YES',
},
'configurations': {
'Debug': {
'xcode_settings': {
'CODE_SIGN_IDENTITY': 'iPhone Developer',
},
},
'Release': {
'xcode_settings': {
'CODE_SIGN_IDENTITY': 'iPhone Distribution',
'ARCHS': [ "arm64" ],
},
},
},
}
]
}

View File

@@ -238,7 +238,7 @@ void Style::emitResourceLoadingFailed(std::exception_ptr error) {
std::rethrow_exception(error);
}
} catch(const std::exception& e) {
Log::Error(Event::Style, e.what());
Log::Error(Event::Style, "%s", e.what());
}
if (observer) {