Вниз
Скачать: CL | DM;

Быстрое копирование блоков памяти   Найти похожие ветки 

← →
User   (2003-05-22 12:43) [0]

Может кто подскажет быструю функцию копирования
маленького блока памяти из большого.

Примерно так:

Copy(Source : PChar; Dest: PChar; index: integer; Count: integer);

Стандартная Copy вызывает _LStrCopy из system.pas, а она достаточно медленно работает.


← →
MBo ©   (2003-05-22 12:43) [1]

Move


← →
User   (2003-05-22 12:48) [2]

Мне нужно не полностью копировать, а только определенную чать - то есть задавая начальное смещение index и размер блока Count.


← →
Palladin ©   (2003-05-22 12:52) [3]


> User (22.05.03 12:48)

даже как то не находится что в ответ то сказать


← →
MBo ©   (2003-05-22 12:52) [4]

Хелпов, значит, не читаем...


← →
Anatoly Podgoretsky ©   (2003-05-22 13:01) [5]

MBo © (22.05.03 12:52)
Хелпы ладно, так и ответов не читаем.


← →
User   (2003-05-22 13:09) [6]

Все понял... Спасибо :) Пока на код Move не посмотрел непонятно было.

var
Source : PChar;
Dest : PChar;
...
Move(Source[Index], Dest^, Count);
...



← →
clickmaker ©   (2003-05-22 13:11) [7]

CopyMemory
Быстрее только ассемблер в нужном месте кода...


← →
Anatoly Podgoretsky ©   (2003-05-22 13:19) [8]

clickmaker © (22.05.03 13:11)
Не быстрее, возможно удастся съэкономить несколько наносекунд на передаче параметров.


← →
User   (2003-05-22 14:32) [9]

Проверил Copy медленнее Move на несколько порядков...
Теперь горячая точка FillChar но это уже другая проблема :)


← →
panov ©   (2003-05-22 15:10) [10]

>User (22.05.03 14:32)
ZeroMemory для инициализации.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.018 c
1-2913
iVaaL
2003-05-23 06:45
2003.06.02
Компонент ListView


9-2730
VitGun
2002-12-19 21:32
2003.06.02
Спрайт


1-2918
Maxx_SR
2003-05-20 17:28
2003.06.02
Internal Error 484


1-2939
leonidus
2003-05-20 14:25
2003.06.02
Цветной ListBox


1-2904
Nikos
2003-05-22 17:55
2003.06.02
Как вызвать процедуру OnDrawCell объекта ТStringGrid




   Наверх