From 243666f202bf382d49e87cc81606283b066cbeeb Mon Sep 17 00:00:00 2001
From: WanderWang
Date: Mon, 16 Sep 2013 22:04:57 +0800
Subject: [PATCH 1/2] Update CCTextureCache.js
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1、Fix error that cc.TextureCache.dumpCachedTextureInfo() will crash when there are cc.LabelBMFont has been created
2、Fix bug when calculate HTMLCanvasElement 's memory
---
cocos2d/textures/CCTextureCache.js | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/cocos2d/textures/CCTextureCache.js b/cocos2d/textures/CCTextureCache.js
index 583a7f10a7..c6058f917d 100644
--- a/cocos2d/textures/CCTextureCache.js
+++ b/cocos2d/textures/CCTextureCache.js
@@ -484,7 +484,7 @@ cc.TextureCache = cc.Class.extend(/** @lends cc.TextureCache# */{
* This will attempt to calculate the size of each texture, and the total texture memory in use.
*/
dumpCachedTextureInfo:function () {
- var count = 0;
+ var count = 0;
var totalBytes = 0, locTextures = this._textures;
for (var key in locTextures) {
@@ -494,18 +494,22 @@ cc.TextureCache = cc.Class.extend(/** @lends cc.TextureCache# */{
cc.log("cocos2d: '" + key + "' id=" + selTexture.getHtmlElementObj().src + " " + selTexture.getPixelsWide() + " x " + selTexture.getPixelsHigh());
else {
cc.log("cocos2d: '" + key + "' id= HTMLCanvasElement " + selTexture.getPixelsWide() + " x " + selTexture.getPixelsHigh());
- totalBytes += selTexture.getPixelsWide() * selTexture.getPixelsHigh() * 4;
}
+ totalBytes += selTexture.getPixelsWide() * selTexture.getPixelsHigh() * 4;
}
var locTextureColorsCache = this._textureColorsCache;
for (key in locTextureColorsCache) {
- var selCanvas = locTextureColorsCache[key];
- count++;
- cc.log("cocos2d: '" + key + "' id= HTMLCanvasElement " + selCanvas.getPixelsWide() + " x " + selCanvas.getPixelsHigh());
- totalBytes += selCanvas.getPixelsWide() * selCanvas.getPixelsHigh() * 4;
- }
+ var selCanvasColorsArr = locTextureColorsCache[key];
+ for (var selCanvasKey in selCanvasColorsArr){
+ var selCanvas = selCanvasColorsArr[selCanvasKey];
+ count++;
+ cc.log("cocos2d: '" + key + "' id= HTMLCanvasElement " + selCanvas.width + " x " + selCanvas.height);
+ totalBytes += selCanvas.width * selCanvas.height * 4;
+ }
+ }
+//
cc.log("cocos2d: TextureCache dumpDebugInfo: " + count + " textures, HTMLCanvasElement for "
+ (totalBytes / 1024) + " KB (" + (totalBytes / (1024.0 * 1024.0)).toFixed(2) + " MB)");
}
From 6f2b4e73b1f25ab5e8176b1547fe121334d939a0 Mon Sep 17 00:00:00 2001
From: WanderWang
Date: Tue, 17 Sep 2013 10:18:37 +0800
Subject: [PATCH 2/2] Update CCTextureCache.js
fix code format
---
cocos2d/textures/CCTextureCache.js | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/cocos2d/textures/CCTextureCache.js b/cocos2d/textures/CCTextureCache.js
index c6058f917d..9bd22e8d34 100644
--- a/cocos2d/textures/CCTextureCache.js
+++ b/cocos2d/textures/CCTextureCache.js
@@ -484,7 +484,7 @@ cc.TextureCache = cc.Class.extend(/** @lends cc.TextureCache# */{
* This will attempt to calculate the size of each texture, and the total texture memory in use.
*/
dumpCachedTextureInfo:function () {
- var count = 0;
+ var count = 0;
var totalBytes = 0, locTextures = this._textures;
for (var key in locTextures) {
@@ -509,7 +509,6 @@ cc.TextureCache = cc.Class.extend(/** @lends cc.TextureCache# */{
}
}
-//
cc.log("cocos2d: TextureCache dumpDebugInfo: " + count + " textures, HTMLCanvasElement for "
+ (totalBytes / 1024) + " KB (" + (totalBytes / (1024.0 * 1024.0)).toFixed(2) + " MB)");
}