Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];

Вниз

Обработка Bitmap двумя Thread   Найти похожие ветки 

 
homm ©   (2007-06-07 22:23) [40]

> Как показывает практика можно и без асма сделать не хуже.
> А то и лучше. Ибо оптимизатор делфи генерит код очень хитро
> и лучше чем большинство программеров среднего уровня на
> асме.

Приятно знать, что я не «программер среднего уровня» в этом вопросе. Хотя, признать, без использования MMX как-то увеличить скорость грамотного(!) кода достаточно трудно.


 
Eraser ©   (2007-06-07 22:26) [41]

> [36] DVM ©   (07.06.07 21:53)


> Только вот толку от многопоточности не будет никакой ибо
> пока один поток залочил битмап, другой будет ждать.

а по-другому никак, GDI функции не потокобезопасны.

а толк будет, при условии, что один поток постоянно работает с битмапом, а другой, к примеру, только время от времени занимается прорисовкой этого битмапа на форме.


 
homm ©   (2007-06-07 22:30) [42]

> а толк будет, при условии, что один поток постоянно работает
> с битмапом, а другой, к примеру, только время от времени
> занимается прорисовкой этого битмапа на форме.

Можно не использовать GDI функции для обработки. См. [39]


 
oxffff ©   (2007-06-07 22:31) [43]


> а по-другому никак, GDI функции не потокобезопасны.


Ему нужно просто выдернуть весь буфер.
Поскольку этот буфер статичен (только чтение, используется как источник), то обращение к нему бы влечет за собой нагрузки на когерентность кэша при многоядерности и многосокетности.


 
oxffff ©   (2007-06-07 22:33) [44]


> Поскольку этот буфер статичен (только чтение, используется
> как источник), то обращение к нему НЕ влечет за собой нагрузки
> на когерентность кэша при многоядерности и многосокетности
.
>


 
Eraser ©   (2007-06-07 23:05) [45]

> [43] oxffff ©   (07.06.07 22:31)

судя по задаче, автору проще создать 2 отдельных битмапа, а после обработки в отдельных потоках просто склеить их..


 
homm ©   (2007-06-07 23:14) [46]

> [45] Eraser

процедуру склейки не распаралелишь, к тому-же не понятно, чем «проще».


 
oxffff ©   (2007-06-07 23:16) [47]

Купить?


 
oxffff ©   (2007-06-07 23:17) [48]

Книгу естественно.


 
oxffff ©   (2007-06-07 23:27) [49]

to Igor_K_A
Вы нас всех хоть в соавторах диплома упомините.
Хотя больше на практическое задание смахивает.


 
Eraser ©   (2007-06-08 00:03) [50]

> чем «проще».

чем на свой страх и риск блокировать участки памяти.


 
homm ©   (2007-06-08 00:18) [51]

> чем на свой страх и риск блокировать участки памяти.

Зачем? Все проще. Делим попалам, один поток — один половину, другой — другую.


 
Pavia ©   (2007-06-10 02:53) [52]

На самом деле надо понять как работают паролельные процессы. Тогда все станет ясно. При работе с паролельными процессами важна синхронизация. Но так как в данном контексте процессы работуют каждый со своими данными, то все должно работать и без нее. Остается только правельно синхронизовать момент старта и остановки процессов.

Как программист со средним знанием асм скажу следующее. Дельфи генерирует безобразный код. Так, что если я перепишу на асм то программа будет работать быстрее в большинстве случиев. А если уж и использовать mmx, то точно прирост будет значительный.


 
Германн ©   (2007-06-10 03:01) [53]

а
> Pavia ©   (10.06.07 02:53) [52]

Вань. Лучше не позорься! Такое количество грамматических ошибок - явный перебор!


 
Strate ©   (2007-06-10 21:55) [54]

А можно разбить битмап на 2 битмапа, на каждый зафигачить поток который уменьшит его и потом соединить :)

Но наврено это глупо, т.к. разбивка и склеивание долго буту работать


 
Vovan Real   (2007-06-10 23:57) [55]

Удалено модератором
Примечание: в зеркало посмотри


 
homm ©   (2007-06-11 00:07) [56]

> [55] Vovan Real

Рад тебя снова видеть.


 
DVM ©   (2007-06-11 00:10) [57]


> Pavia ©   (10.06.07 02:53) [52]


> Дельфи генерирует безобразный код


> Так, что если я перепишу на асм то программа будет работать
> быстрее в большинстве случиев

А если я твой пост перепишу на нормальном русском языке и без ошибок, то прочтя его, ты сам, может быть, поймешь, что ты не совсем прав насчет безобразного кода, который генерит Делфи.



Страницы: 1 2 вся ветка

Форум: "Основная";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.56 MB
Время: 0.264 c
2-1185342922
gen
2007-07-25 09:55
2007.08.19
*.gif, *.jpeg


15-1184917274
tradakad_
2007-07-20 11:41
2007.08.19
лицензия Delphi


15-1185274700
StrangerMX
2007-07-24 14:58
2007.08.19
Подскажите есть ли RXLIB для BDS 2006 .Net


2-1185519885
Надежда
2007-07-27 11:04
2007.08.19
Региональные настройки


15-1184906287
vasIZmax
2007-07-20 08:38
2007.08.19
Тестирование приложения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский