Skip to content

Commit 52d18f0

Browse files
PatriceJiangminggo
authored and
minggo
committed
dec invoke times of createVertexBuffer (cocos2d#163)
1 parent a8589a8 commit 52d18f0

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

cocos/2d/CCProgressTimer.cpp

+9-5
Original file line numberDiff line numberDiff line change
@@ -361,11 +361,13 @@ void ProgressTimer::updateRadial(void)
361361
{
362362
sameIndexCount = false;
363363
_vertexData.resize(index + 3);
364+
_customCommand.createVertexBuffer(sizeof(_vertexData[0]), _vertexData.size());
364365
}
365366

366367
if (_indexData.size() != 3 + 3 * index)
367368
{
368369
_indexData.resize(3 + 3 * index);
370+
_customCommand.createIndexBuffer(sizeof(_indexData[0]), _indexData.size());
369371
}
370372

371373
//updateColor();
@@ -394,15 +396,13 @@ void ProgressTimer::updateRadial(void)
394396
_indexData[i * 3 + 2] = i + 1;
395397
}
396398

397-
_customCommand.createIndexBuffer(sizeof(_indexData[0]), _indexData.size());
398399
_customCommand.updateIndexBuffer(_indexData.data(), _indexData.size() * sizeof(_indexData[0]));
399400
}
400401

401402
// hitpoint will go last
402403
_vertexData[_vertexData.size() - 1].texCoords = textureCoordFromAlphaPoint(hit);
403404
_vertexData[_vertexData.size() - 1].vertices = vertexFromAlphaPoint(hit);
404405

405-
_customCommand.createVertexBuffer(sizeof(_vertexData[0]), _vertexData.size());
406406

407407
updateColor();
408408
}
@@ -449,7 +449,11 @@ void ProgressTimer::updateBar(void)
449449

450450
if (!_reverseDirection) {
451451

452-
_vertexData.resize(4);
452+
if (_vertexData.size() != 4)
453+
{
454+
_vertexData.resize(4);
455+
_customCommand.createVertexBuffer(sizeof(_vertexData[0]), _vertexData.size());
456+
}
453457

454458
// TOPLEFT
455459
_vertexData[0].texCoords = textureCoordFromAlphaPoint(Vec2(min.x,max.y));
@@ -467,8 +471,9 @@ void ProgressTimer::updateBar(void)
467471
_vertexData[3].texCoords = textureCoordFromAlphaPoint(Vec2(max.x,min.y));
468472
_vertexData[3].vertices = vertexFromAlphaPoint(Vec2(max.x,min.y));
469473
} else {
470-
if(_vertexData.empty()) {
474+
if(_vertexData.size() != 8) {
471475
_vertexData.resize(8);
476+
_customCommand.createVertexBuffer(sizeof(_vertexData[0]), _vertexData.size());
472477
// TOPLEFT 1
473478
_vertexData[0].texCoords = textureCoordFromAlphaPoint(Vec2(0,1));
474479
_vertexData[0].vertices = vertexFromAlphaPoint(Vec2(0,1));
@@ -503,7 +508,6 @@ void ProgressTimer::updateBar(void)
503508
_vertexData[5].vertices = vertexFromAlphaPoint(Vec2(max.x,min.y));
504509
}
505510

506-
_customCommand.createVertexBuffer(sizeof(_vertexData[0]), _vertexData.size());
507511
updateColor();
508512
}
509513

0 commit comments

Comments
 (0)