mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-26 12:20:56 +00:00
Bug 1458480 - Add a skia memory reporter and report on font cache usage. r=lsalzman, r=njn
--HG-- extra : rebase_source : 399b5be69d5c56d48bc15447f447f9c79c116c04 extra : amend_source : 3ccaab165dd48064366ed50bc3688d348362010a extra : histedit_source : c606b880ac8dabbc4e824323146918ea4e5073ae
This commit is contained in:
parent
217eb3f541
commit
fff38caff1
29
gfx/thebes/SkMemoryReporter.cpp
Normal file
29
gfx/thebes/SkMemoryReporter.cpp
Normal file
@ -0,0 +1,29 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "SkMemoryReporter.h"
|
||||
|
||||
#include "skia/include/core/SkGraphics.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
NS_IMETHODIMP
|
||||
SkMemoryReporter::CollectReports(nsIHandleReportCallback* aHandleReport,
|
||||
nsISupports* aData,
|
||||
bool aAnonymize)
|
||||
{
|
||||
MOZ_COLLECT_REPORT(
|
||||
"explicit/skia-font-cache", KIND_HEAP, UNITS_BYTES,
|
||||
SkGraphics::GetFontCacheUsed(),
|
||||
"Memory used in the skia font cache.");
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS(SkMemoryReporter, nsIMemoryReporter);
|
||||
|
||||
} // namespace gfx
|
||||
} // namespace mozilla
|
31
gfx/thebes/SkMemoryReporter.h
Normal file
31
gfx/thebes/SkMemoryReporter.h
Normal file
@ -0,0 +1,31 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef GFX_SKMEMORYREPORTER_H
|
||||
#define GFX_SKMEMORYREPORTER_H
|
||||
|
||||
#include "nsIMemoryReporter.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
class SkMemoryReporter final : public nsIMemoryReporter
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
|
||||
NS_IMETHOD CollectReports(nsIHandleReportCallback* aHandleReport,
|
||||
nsISupports* aData,
|
||||
bool aAnonymize) override;
|
||||
|
||||
private:
|
||||
~SkMemoryReporter() {}
|
||||
};
|
||||
|
||||
} // namespace gfx
|
||||
} // namespace mozilla
|
||||
|
||||
#endif /* GFX_SKMEMORYREPORTER_H */
|
@ -106,6 +106,7 @@
|
||||
# ifdef MOZ_ENABLE_FREETYPE
|
||||
# include "skia/include/ports/SkTypeface_cairo.h"
|
||||
# endif
|
||||
# include "mozilla/gfx/SkMemoryReporter.h"
|
||||
# ifdef __GNUC__
|
||||
# pragma GCC diagnostic pop // -Wshadow
|
||||
# endif
|
||||
@ -839,6 +840,9 @@ gfxPlatform::Init()
|
||||
}
|
||||
|
||||
RegisterStrongMemoryReporter(new GfxMemoryImageReporter());
|
||||
#ifdef USE_SKIA
|
||||
RegisterStrongMemoryReporter(new SkMemoryReporter());
|
||||
#endif
|
||||
mlg::InitializeMemoryReporters();
|
||||
|
||||
#ifdef USE_SKIA
|
||||
|
@ -65,6 +65,11 @@ EXPORTS.mozilla.gfx += [
|
||||
'PrintTargetThebes.h',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_ENABLE_SKIA']:
|
||||
EXPORTS.mozilla.gfx += [
|
||||
'SkMemoryReporter.h'
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
|
||||
EXPORTS += [
|
||||
'gfxAndroidPlatform.h',
|
||||
@ -212,6 +217,11 @@ UNIFIED_SOURCES += [
|
||||
'VsyncSource.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_ENABLE_SKIA']:
|
||||
UNIFIED_SOURCES += [
|
||||
'SkMemoryReporter.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
|
||||
UNIFIED_SOURCES += [
|
||||
'gfxMacPlatformFontList.mm',
|
||||
|
Loading…
x
Reference in New Issue
Block a user