Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2012, 21:48   #1
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию Ускорение функций

Здравствуйте. Есть функция которая обрабатывает массив вершин (1024х1024 пока, может быть и больше) используя операции с векторами (дот, кросс и т.д.), так вот время обработки очень большое нужно както ускорить этот процесс, слышал про всякие SSE, MMX и тому подобные приколы, но сам даже с ассемблером последний раз общался еще в универе (где то курс 3, и то только микроконтроллеры). Подскажите пожалуйска какие нибудь примеры или статьи.
nXs вне форума Ответить с цитированием
Старый 27.02.2012, 21:56   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

в Delphi? Я недавно поднимал топик...(Ну месяца эдак 3 назад).
Вот что накачал(статьи, учебники, книги), все в архиве.

изучай на здоровье

Добавлю, что delphi не производит оптимизацию твоих asm вставок, так что, как вставил, так компилятор и захавал.
Может получится ситуация, когда твой sm код работает медленне обычного.

P.S. Если учил ассемблер где-то там, то вспомнить будет не сложно.
Вложения
Тип файла: rar BASM.rar (243.0 Кб, 11 просмотров)

Последний раз редактировалось Человек_Борща; 27.02.2012 в 21:58.
Человек_Борща вне форума Ответить с цитированием
Старый 27.02.2012, 22:12   #3
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию

Большое спасибо, почитаю.

Еще вопрос, дабы не начинать новой темы, возможно ли двигать прогрессбар без вызова Application.processmessages?

Последний раз редактировалось Stilet; 28.02.2012 в 14:55.
nXs вне форума Ответить с цитированием
Старый 27.02.2012, 22:36   #4
Delphi_ProGer
Форумчанин
 
Регистрация: 30.10.2010
Сообщений: 524
По умолчанию

Цитата:
Сообщение от nXs Посмотреть сообщение
Еще вопрос, дабы не начинать новой темы, возможно ли двигать прогрессбар без вызова Application.processmessages?
Можно, но приложения будет подвисать, да и чтоб увидеть результат передвижения, то нужно время от времени вызывать Application.processmessages.

P.S. возможно я вас не так понял.
Delphi_ProGer вне форума Ответить с цитированием
Старый 28.02.2012, 00:28   #5
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию

Так вот я о чем думаю, Application.processmessages в цикле вызывается 1024 раза, это замедляет скорость выполнения цикла, родилась соответственно идея чтобы приложение не обрабатывало всю очередь сообщений, а тупо обновить прогрессбар. Я вкурсе что приложение будет как бы подвисать, но это не важно оно и так подвисает по серезному при выполнении даной процедуры.
nXs вне форума Ответить с цитированием
Старый 28.02.2012, 00:37   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
а тупо обновить прогрессбар
чтоб его обновить нужно принять сообщение о его перерисовке и обработать его.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.02.2012, 02:14   #7
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию

Дык, я это понимаю, вот и спрашиваю, а вдруг можно как то по другому.
nXs вне форума Ответить с цитированием
Старый 28.02.2012, 08:35   #8
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

В таком случае, тогда лучше использовать отдельный поток.
FaTaL вне форума Ответить с цитированием
Старый 28.02.2012, 18:52   #9
nXs
Форумчанин
 
Регистрация: 26.02.2010
Сообщений: 126
По умолчанию

Вариант, спасибо, чет сам не додумался.
nXs вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорение времени rinasmichael Win Api 3 10.11.2011 09:15
Ускорение компиляции jetyb Помощь студентам 4 13.09.2011 23:38
Ускорение д2010 Utkin Софт 2 29.03.2010 16:03
ускорение компа Dark Energy Компьютерное железо 4 14.07.2008 20:15
Ускорение работы с БД za4ot БД в Delphi 6 11.07.2008 19:05