diff options
author | Nicolas Roard <nicolasroard@google.com> | 2012-04-06 11:35:50 -0700 |
---|---|---|
committer | Nicolas Roard <nicolasroard@google.com> | 2012-04-06 14:03:59 -0700 |
commit | 2e510fd5b5a30f1315c272d44ae3aa4cba355498 (patch) | |
tree | db3af5f32855d329856f190c3509ae11ae519851 /Source/WebCore/platform/graphics/android/TilesProfiler.cpp | |
parent | c88c88907b618e468ec3928b06a3a31d4f99b9c6 (diff) | |
download | external_webkit-2e510fd5b5a30f1315c272d44ae3aa4cba355498.zip external_webkit-2e510fd5b5a30f1315c272d44ae3aa4cba355498.tar.gz external_webkit-2e510fd5b5a30f1315c272d44ae3aa4cba355498.tar.bz2 |
Reorganize platform/graphics/android
Change-Id: Idc67155cfa99784dcd931e705336bfa063ecae46
Diffstat (limited to 'Source/WebCore/platform/graphics/android/TilesProfiler.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/TilesProfiler.cpp | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/Source/WebCore/platform/graphics/android/TilesProfiler.cpp b/Source/WebCore/platform/graphics/android/TilesProfiler.cpp deleted file mode 100644 index 4f0c6b5..0000000 --- a/Source/WebCore/platform/graphics/android/TilesProfiler.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright 2010, The Android Open Source Project - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#define LOG_TAG "TilesProfiler" -#define LOG_NDEBUG 1 - -#include "config.h" -#include "TilesProfiler.h" - -#if USE(ACCELERATED_COMPOSITING) - -#include "AndroidLog.h" -#include "Tile.h" -#include "TilesManager.h" -#include <wtf/CurrentTime.h> - -// Hard limit on amount of frames (and thus memory) profiling can take -#define MAX_PROF_FRAMES 400 -#define INVAL_CODE -2 - -namespace WebCore { -TilesProfiler::TilesProfiler() - : m_enabled(false) -{ -} - -void TilesProfiler::start() -{ - m_enabled = true; - m_goodTiles = 0; - m_badTiles = 0; - m_records.clear(); - m_time = currentTimeMS(); - ALOGV("initializing tileprofiling"); -} - -float TilesProfiler::stop() -{ - m_enabled = false; - ALOGV("completed tile profiling, observed %d frames", m_records.size()); - return (1.0 * m_goodTiles) / (m_goodTiles + m_badTiles); -} - -void TilesProfiler::clear() -{ - ALOGV("clearing tile profiling of its %d frames", m_records.size()); - m_records.clear(); -} - -void TilesProfiler::nextFrame(int left, int top, int right, int bottom, float scale) -{ - if (!m_enabled || (m_records.size() > MAX_PROF_FRAMES)) - return; - - double currentTime = currentTimeMS(); - double timeDelta = currentTime - m_time; - m_time = currentTime; - -#ifdef DEBUG - if (m_records.size() != 0) { - ALOGD("completed tile profiling frame, observed %d tiles. %f ms since last", - m_records[0].size(), timeDelta); - } -#endif // DEBUG - - m_records.append(WTF::Vector<TileProfileRecord>()); - - //first record designates viewport - m_records.last().append(TileProfileRecord( - left, top, right, bottom, - scale, true, (int)(timeDelta * 1000))); -} - -void TilesProfiler::nextTile(Tile* tile, float scale, bool inView) -{ - if (!m_enabled || (m_records.size() > MAX_PROF_FRAMES) || (m_records.size() == 0)) - return; - - bool isReady = tile->isTileReady(); - int left = tile->x() * TilesManager::tileWidth(); - int top = tile->y() * TilesManager::tileWidth(); - int right = left + TilesManager::tileWidth(); - int bottom = top + TilesManager::tileWidth(); - - if (inView) { - if (isReady) - m_goodTiles++; - else - m_badTiles++; - } - m_records.last().append(TileProfileRecord( - left, top, right, bottom, - scale, isReady, (int)tile->drawCount())); - ALOGV("adding tile %d %d %d %d, scale %f", left, top, right, bottom, scale); -} - -void TilesProfiler::nextInval(const SkIRect& rect, float scale) -{ - if (!m_enabled || (m_records.size() > MAX_PROF_FRAMES) || (m_records.size() == 0)) - return; - - m_records.last().append(TileProfileRecord( - rect.x(), rect.y(), - rect.right(), rect.bottom(), scale, false, INVAL_CODE)); - ALOGV("adding inval region %d %d %d %d, scale %f", rect.x(), rect.y(), - rect.right(), rect.bottom(), scale); -} - -} // namespace WebCore - -#endif // USE(ACCELERATED_COMPOSITING) |