По ссылке
Я обнаружил, что Canvas теперь поддерживает аппаратное ускорение (в основном).
Я загрузил исходный код AOSP 4.2.2 (уровень API 17) и проверил код во external / skia / src / core / sKCanvas.cpp.
Я добрался до sKCanvas.cpp, потому что он, наконец, будет вызываться через jni из класса Android Canvas.
Однако, скажем, drawPosText (), эта функция должна использовать аппаратное ускорение (open gl)
в коде. Но когда я проверил эту функцию в sKCanvas.cpp, я не увидел никакого кода, связанного с open gl.
Я что-то не понял? Это меня смущает.
Спасибо.
void SkCanvas::drawPosText(const void* text, size_t byteLength,
const SkPoint pos[], const SkPaint& paint) {
LOOPER_BEGIN(paint, SkDrawFilter::kText_Type)
while (iter.next()) {
SkDeviceFilteredPaint dfp(iter.fDevice, looper.paint());
iter.fDevice->drawPosText(iter, text, byteLength, &pos->fX, 0, 2,
dfp.paint());
}
LOOPER_END
}