Optimize some text-typesetter rendering operations 09/275009/11
authorEunki, Hong <eunkiki.hong@samsung.com>
Fri, 13 May 2022 06:30:25 +0000 (15:30 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Wed, 18 May 2022 04:51:56 +0000 (13:51 +0900)
commit45e9833ef32ff69218404567a02b81dd20540ff2
tree0e3fd8af3d67609ea3fc75f6235c28009e4bd752
parent5e568632fb11fd797309ccd61d4fcae784de91a0
Optimize some text-typesetter rendering operations

1. Make pixelwise iterations range more tightly.
ex) for(i=0;~~) if(i<X) continue; --> for(i=X;~~)

2. Make some pixelwise operations use precalculated color
ex) in DrawBackgroundColor, we don't change the target color.
So, we can specificate that color will be writed for each pixel.

It can reduce some float point data operations.

3. Make CombineImageBuffer reuse the memory.
CombineImageBuffer only used in Typesetter class. (It was private API)
and this API never use it's member value.
And also, All that API caller replace one of pixel buffer
either top or bottom.

So now, I move this API in unnamed namespace function +
store the result into already exist pixel buffer
so we can reduce some memory allocation time.

Change-Id: Id20b2b75e39ccf56b7d08f0b8c8e1e6bea4b7820
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
automated-tests/src/dali-toolkit/utc-Dali-TextLabel.cpp
dali-toolkit/internal/text/rendering/text-typesetter.cpp
dali-toolkit/internal/text/rendering/text-typesetter.h