powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Потокобезопасна ли работа с графикой в новых делфях?
25 сообщений из 58, страница 1 из 3
Потокобезопасна ли работа с графикой в новых делфях?
    #39736623
Фотография garun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как в новых версиях, в частности 10.1 Berlin обстоят дела с безопасностью работы с TBitmap и TJpegImage в потоках? Насколько я знаю в Firemonkey с недавних пор официально ( http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Multi-Threading_for_TBitmap,_TCanvas,_and_TContext3D ) можно работать с графикой в потоках:

FireMonkey Multi-Threading for TBitmap, TCanvas, and TContext3D TBitmap has complete multi-threading support. Instances can be created, destroyed, and modified in any thread without synchronization.

По поводу обычного VCL информации не нашел.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736641
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RTFM Canvas.Lock, Canvas.Unlock
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736752
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
garunПо поводу обычного VCL информации не нашел. Если ты работаешь с TBitmap или TJpegImage из одного потока, то это "потоко-безопасно". Если хочешь одновременно из разных потоков, то надо делать синхронизацию самому.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736783
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkagarunПо поводу обычного VCL информации не нашел. Если ты работаешь с TBitmap или TJpegImage из одного потока, то это "потоко-безопасно". Если хочешь одновременно из разных потоков, то надо делать синхронизацию самому.

Нет. Попробуй рисовать на канве битмапа без Lock в отдельном потоке. Тебя ждут чудные открытия.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736806
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
garun По поводу обычного VCL информации не нашел. Надо в исходники глянуть.
Косяки возникали потому, что в конце цикла обработки сообщений запускался "дворник", который чистил HDC у всех незалоченных Canvas-ов.
Не думаю, что его можно было выкинуть.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736846
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

проблема ещё в том, что ряд функций из библиотек создают битмапы и не лочат их
и тут уже кроме их переписывания никак не извернёшься
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736859
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в VCL надо делать Canvas.Lock/Unlock
в FMX до токио битмапы не потокобезопасны вообще
в текущем варианте должны работать в потоках
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736867
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КвейдDimonkaпропущено...
Если ты работаешь с TBitmap или TJpegImage из одного потока, то это "потоко-безопасно". Если хочешь одновременно из разных потоков, то надо делать синхронизацию самому.Нет. Попробуй рисовать на канве битмапа без Lock в отдельном потоке. Тебя ждут чудные открытия. Никогда не было нужды использовать канвас для рисования по битмапу. А что ты рисуешь с помощью канваса?
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736905
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaКвейдпропущено...
Нет. Попробуй рисовать на канве битмапа без Lock в отдельном потоке. Тебя ждут чудные открытия. Никогда не было нужды использовать канвас для рисования по битмапу. А что ты рисуешь с помощью канваса?
А как ещё рисовать на битмапе? Я, например рисовал графики на offscreen битмапе и копировал потом картинку на PaintBox.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736910
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62,

да по разному можно, доступ к байтикам же есть
но конечно реальная графика и TBitmap вещи плохосовмещаемые - он так, для глянцевания и рихтовки
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736912
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)s62,

да по разному можно, доступ к байтикам же есть
но конечно реальная графика и TBitmap вещи плохосовмещаемые - он так, для глянцевания и рихтовки
Графики и диаграммы нормально рисуются.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736920
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)s62,

да по разному можно, доступ к байтикам же есть
но конечно реальная графика и TBitmap вещи плохосовмещаемые - он так, для глянцевания и рихтовки3-D графику, понятно, рисовать через битмап наверное не очень.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39736973
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)да по разному можно, доступ к байтикам же есть
Ага, сделай вывод hello world с антиалиасингом байтиками ;)
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737003
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2kealon(Ruslan)да по разному можно, доступ к байтикам же есть
Ага, сделай вывод hello world с антиалиасингом байтиками ;) Не так и сложно. Пре текущем состоянии дел даже хинтинг и "cleartext" самому можно прикрутить.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737056
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Ага, сделай вывод hello world с антиалиасингом байтиками ;)делал, ещё в 2000-м,
не ахти какая задача
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737363
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот прям реально без DrawText и прочего? Разбирал файл шрифта, рисовал каждый глиф?
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737431
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,
откуда такая роскошь под досом
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737433
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2Вот прям реально без DrawText и прочего? Разбирал файл шрифта, рисовал каждый глиф? Файл шрифта разбирает система. Прочитай про GetGlyphOutline.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737481
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaФайл шрифта разбирает система. Прочитай про GetGlyphOutline.
Это не труЪ. Тем более что канвас используется.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737488
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2DimonkaФайл шрифта разбирает система. Прочитай про GetGlyphOutline.
Это не труЪ. Тем более что канвас используется. TCanvas не обязателен.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737564
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimonkaTCanvas не обязателен.
Я не говорил про TCanvas, а про канвас как сущность
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737574
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
s62Графики и диаграммы нормально рисуются. Для графиков и диаграмм есть метафайлы.
Битмап - для растров.
Их по хорошему лучше "рисовать" через Scanline[], тогда проблем с потоками не будет. Но, по факту, для этого вместо одной строчки кода нужно писать хренову тучу операторов, что, конечно, делать влом.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737598
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Соколинский Борис,

Есть довольно много библиотек, которые это делают
Понятно что вручную мало кто пишет, как сейчас так и раньше

Просто другие библиотеки дают больше возможностей\скорости по сравнению со стандартным TCanvas

Даже просто утилизация всех возможностей GDI выходит в некоторых случаях предпочтительнее. Например, если мне будет нужна подержка принтеров под виндой, я возьму за основу GDI и все остальные реализации буду отталкивать от этого интерфейса. Ибо он ИМХО ЖЕЛЕЗНО работает.
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737671
Фотография garun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребятки, а по теме есть что-то?
...
Рейтинг: 0 / 0
Потокобезопасна ли работа с графикой в новых делфях?
    #39737695
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
garunребятки, а по теме есть что-то? прямо в первом посте всё, что вам нужно знать
...
Рейтинг: 0 / 0
25 сообщений из 58, страница 1 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Потокобезопасна ли работа с графикой в новых делфях?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]