![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
![]()
Подскажите, пожалуйста, как быстро заполнить одномерный динамический массив? Ну очень быстро=)
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]() Код:
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 24.11.2006
Сообщений: 108
|
![]()
Заполнить чем?
если массив только выделяется то он уже чистый (делфя сама об этом заботится). |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 14.09.2010
Сообщений: 37
|
![]()
Массив как раз требуется очищать каждые 0.05с. Т.к. он является буффером глубины прорисовки кадра....
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]()
Если размер массив четный и делится на 4, можно прямо ассемблерной вставкой:
Код:
Вот, померил кстати, да, асмовая вставка оказалась самым быстрым вариантом. MMX и SSE только тормозят, не знаю почему так. Может конечно я косо написал... Код:
Цитата:
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Последний раз редактировалось Tronix; 03.10.2010 в 19:46. |
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
![]()
Хоть бы версию Delphi указали.
FillChar в D7 и D2007 - как небо и земля.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]()
Я специально дал сорцы - берите да проверяйте для какой надо делфи. Хоть для Delphi v7, хоть для Delphi 2010. Результаты выше были для Free Pascal Compiler v2.4.0 конкретно.
Ща на Delphi v7 проверю. Да те же самые резалты тащемта: Цитата:
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Последний раз редактировалось Tronix; 03.10.2010 в 17:16. |
|
![]() |
![]() |
![]() |
#8 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]() Цитата:
А при этой прорисовке нельзя просто менять значения на новые? А то лишние "очистки" - зло... По моим сведеньям быстрее всего на MMX... Источник вроде был достаточно надёжный, хотя сам не проверял... Tronix, за тест спасибо, ща тоже померяю... ![]() А почему через GetTickCount, а не через QueryPerformanceCounter? Да и по-хорошему проверять нужно не по TIME_CRITICAL, а вообще по всем... P.S. Tests: 1641, 1593, 2282, 2250;
I am the First of Cyber Evolution...
I am the First to Program your Future... Последний раз редактировалось DomiNick; 03.10.2010 в 18:32. Причина: P.S. |
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 15.06.2010
Сообщений: 740
|
![]() Цитата:
Код:
Чтобы понять рекурсию, сперва нужно понять рекурсию.
|
|
![]() |
![]() |
![]() |
#10 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]() Цитата:
![]() Какой компилятор у вас? *
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
создать клас для динамического массива | supra89kren | Общие вопросы C/C++ | 5 | 30.03.2010 00:23 |
Можно ли к функции ellipse(x1,y1,x2,y2) применить прозрачный Brush | Mr.Steroid | Мультимедиа в Delphi | 2 | 04.03.2010 21:47 |
Переделать для динамического массива. | Ueshua | Общие вопросы C/C++ | 1 | 20.12.2009 21:33 |
операция NEW для динамического массива | -ushёl- | Общие вопросы C/C++ | 0 | 14.11.2009 22:00 |
Как можно применить к тексту комонент PageSetupDialog | Bill Gates | Общие вопросы Delphi | 1 | 30.12.2007 20:17 |