skia2/tools/bench_pictures.cfg

119 lines
3.9 KiB
INI
Raw Normal View History

# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
This file defines the configurations in which bench_pictures should be run
on various platforms. The buildbots read these configurations from the
bench_pictures_cfg dictionary. Everything else in this file exists to help in
constructing that dictionary.
This code is executed directly on the buildbot so that convenient things like
variables and loops can be used to avoid unnecessary verbosity. With great power
comes great responsibility; don't put any nasty code here. To reiterate, code in
this file will be directly executed on the build slaves.
"""
import os
import sys
if 'import_path' in globals():
sys.path.append(import_path)
from bench_pictures_cfg_helper import *
# Default tile sizes
DEFAULT_TILE_X = '256'
DEFAULT_TILE_Y = '256'
# Configs to run on most bots
default_configs = [
# Basic CPU and GPU configs
TiledBitmapConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y),
TiledGPUConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y),
# CopyTiles
CopyTilesConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y),
# Record
RecordConfig(),
# Multi-threaded
MultiThreadTileConfig(2, DEFAULT_TILE_X, DEFAULT_TILE_Y),
MultiThreadTileConfig(3, DEFAULT_TILE_X, DEFAULT_TILE_Y),
MultiThreadTileConfig(4, DEFAULT_TILE_X, DEFAULT_TILE_Y),
# Different tile sizes
TiledBitmapConfig(512, 512),
TiledBitmapConfig(1024, 256),
TiledBitmapConfig(1024, 64),
# Different bounding box heirarchies, for different modes.
RecordRTreeConfig(),
PlaybackCreationRTreeConfig(),
TileRTreeConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y),
RecordGridConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y),
PlaybackCreationGridConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y),
TileGridConfig( DEFAULT_TILE_X, DEFAULT_TILE_Y),
]
def AndroidConfigList(tile_size, scale, cores, viewport, do_gpu=True):
tile_x = tile_size[0]
tile_y = tile_size[1]
viewport_x = viewport[0]
viewport_y = viewport[1]
configs = [
# Record
RecordConfig( scale=str(scale)),
RecordRTreeConfig(scale=str(scale)),
RecordGridConfig( tile_x, tile_y, scale=str(scale)),
# Tiled playback
TiledBitmapConfig(tile_x, tile_y, scale=str(scale)),
TileRTreeConfig( tile_x, tile_y, scale=str(scale)),
TileGridConfig( tile_x, tile_y, scale=str(scale)),
# Viewport playback
ViewportBitmapConfig(viewport_x, viewport_y, scale=str(scale)),
ViewportRTreeConfig( viewport_x, viewport_y, scale=str(scale)),
]
if do_gpu:
configs.append(TiledGPUConfig(tile_x, tile_y, scale=str(scale)))
configs.append(ViewportGPUConfig(viewport_x, viewport_y, scale=str(scale)))
# Multicore
for num_cores in cores:
configs.append(MultiThreadTileConfig(num_cores, tile_x, tile_y,
scale=str(scale)))
return configs
# This dictionary defines the sets of configs for all platforms. Each config is
# a dictionary of key/value pairs directly corresponding to the command-line
# flags passed to bench_pictures.
bench_pictures_cfg = {
Created my own flag parser, based off of gflags. Share common code between bench_ and render_ to set up the PictureRenderer. Fix an include error in SkPictureRenderer.h. Simplified parameter passing in render_pictures_main. Switch to using an SkAutoTUnref for the PictureRenderer. I also changed the input format somewhat, so the buildbots need to be updated as well: https://codereview.appspot.com/7441044/ Fixed a bug in PictureBenchmark where calling setTimeIndividualTiles(false) sets the member variable to true. Removed setDeviceType from PictureBenchmark, since only the PictureRenderer needs to know which device type to use. Some changes to the input format: '--logPerIter' no longer takes a 1 or 0. Instead, '--logPerIter' turns it on and '--nologPerIter' turns it off (with off as the default). (Note that this is for bench_pictures; bench still uses the old format) Change '--device' to '--config' and 'bitmap' to '8888' to be the same as gm. Requires '--r' before inputs (to match gm), though there can be multiple inputs following it. Changed --enable-deferred-image-decoding (which no one uses but me yet anyway) to --deferImageDecoding, since the former is incompatible with the flag parser. Changes to behavior: Show a short error message on failure (rather than the explanation of all flags). BUG=https://code.google.com/p/skia/issues/detail?id=1094 Review URL: https://codereview.appspot.com/7230053 git-svn-id: http://skia.googlecode.com/svn/trunk@7961 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 16:41:06 +00:00
'angle': [TiledConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y, config='angle')],
'debug': [TiledBitmapConfig(DEFAULT_TILE_X, DEFAULT_TILE_Y)],
'default': default_configs,
Created my own flag parser, based off of gflags. Share common code between bench_ and render_ to set up the PictureRenderer. Fix an include error in SkPictureRenderer.h. Simplified parameter passing in render_pictures_main. Switch to using an SkAutoTUnref for the PictureRenderer. I also changed the input format somewhat, so the buildbots need to be updated as well: https://codereview.appspot.com/7441044/ Fixed a bug in PictureBenchmark where calling setTimeIndividualTiles(false) sets the member variable to true. Removed setDeviceType from PictureBenchmark, since only the PictureRenderer needs to know which device type to use. Some changes to the input format: '--logPerIter' no longer takes a 1 or 0. Instead, '--logPerIter' turns it on and '--nologPerIter' turns it off (with off as the default). (Note that this is for bench_pictures; bench still uses the old format) Change '--device' to '--config' and 'bitmap' to '8888' to be the same as gm. Requires '--r' before inputs (to match gm), though there can be multiple inputs following it. Changed --enable-deferred-image-decoding (which no one uses but me yet anyway) to --deferImageDecoding, since the former is incompatible with the flag parser. Changes to behavior: Show a short error message on failure (rather than the explanation of all flags). BUG=https://code.google.com/p/skia/issues/detail?id=1094 Review URL: https://codereview.appspot.com/7230053 git-svn-id: http://skia.googlecode.com/svn/trunk@7961 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 16:41:06 +00:00
'no_gpu': [cfg for cfg in default_configs if cfg['config'] != 'gpu'],
'nexus_s': AndroidConfigList((256, 256), 0.4897, [], (480, 800),
do_gpu=False),
'xoom': AndroidConfigList((256, 256), 1.2244, [], (1200, 800)),
'galaxy_nexus': AndroidConfigList((256, 256), 0.8163, [], (800, 1280)),
'nexus_4': AndroidConfigList((256, 256), 0.7836, [], (768, 1280)),
'nexus_7': AndroidConfigList((256, 256), 1.3061, [2], (1280, 800)),
'nexus_10': AndroidConfigList((512, 512), 2.6122, [], (2560, 1600)),
'x86': AndroidConfigList((256, 256), 0.5510, [], (540, 960)),
Created my own flag parser, based off of gflags. Share common code between bench_ and render_ to set up the PictureRenderer. Fix an include error in SkPictureRenderer.h. Simplified parameter passing in render_pictures_main. Switch to using an SkAutoTUnref for the PictureRenderer. I also changed the input format somewhat, so the buildbots need to be updated as well: https://codereview.appspot.com/7441044/ Fixed a bug in PictureBenchmark where calling setTimeIndividualTiles(false) sets the member variable to true. Removed setDeviceType from PictureBenchmark, since only the PictureRenderer needs to know which device type to use. Some changes to the input format: '--logPerIter' no longer takes a 1 or 0. Instead, '--logPerIter' turns it on and '--nologPerIter' turns it off (with off as the default). (Note that this is for bench_pictures; bench still uses the old format) Change '--device' to '--config' and 'bitmap' to '8888' to be the same as gm. Requires '--r' before inputs (to match gm), though there can be multiple inputs following it. Changed --enable-deferred-image-decoding (which no one uses but me yet anyway) to --deferImageDecoding, since the former is incompatible with the flag parser. Changes to behavior: Show a short error message on failure (rather than the explanation of all flags). BUG=https://code.google.com/p/skia/issues/detail?id=1094 Review URL: https://codereview.appspot.com/7230053 git-svn-id: http://skia.googlecode.com/svn/trunk@7961 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-03-04 16:41:06 +00:00
}