Перейти к содержанию
Fire Monkey от А до Я
  • 0

Что работает быстрее TBitmap.Map или TBitmapData.GetScanline?


estra

Вопрос

Рекомендуемые сообщения

  • 0
  • Администраторы

Вопрос не корректен. Так как чтобы получить TBitmapData, нужно его запросить через TBitmap.Map. Одно является следствие работы другого.

 

TBitmap.Map выделяем буфер TBitmap. После получения буфера вся работа с TBitmapData выполняется мгновенно со сложностью O(n).

Ссылка на комментарий
  • 0

Согласен, некорректно.

 

Я хотел узнать, Доступ к пикселам по средствам GetPixel медленнее (как в VCL), быстрее или равен по скорости GetScanline? Что лучше использовать с точки зрения скорости? 

Ссылка на комментарий
  • 0
  • Администраторы
  1. В отличии от VCL FireMonkey не имеет метода TBitmap.GetPixel. Работа с пикселями идет только после запроса TBitmapData
  2. После запроса TBitmapData TBitmapData.GetScanline и TBitmapData.GetPixel выполняются мгновенно, вне зависимости от размера изображения. 
  3. На счет скорости выполнения запроса TBitmapData нужно проверить на своих вариантах использования. В целом, это дорогостоящая операция. Но ее стоимость зависит от многих факторов, от типа используемой канвы, от варианта использования (частота, объемы и тд)
Изменено пользователем Brovin Yaroslav
Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...