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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2013, 09:58   #21
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну да, а обращаться к этой функции с какой частотой? Или в бесконечном цикле, загрузив процессор на 100%
опа хорошая идея с бесконечным циклом
на ядра мне пофиг у меня топовый системник

Цитата:
Сообщение от PathTheir Посмотреть сообщение
почему не использовать ассемблер?
пишу код по памяти, возможны ошибки
Код:
function GetTSC() : Int64;
asm
    RDTSC
end;
функция вернет кол-во тактов процессора.
Вычисляем значение, вычитаем из него прошлое.
Получаем кол-во тактов прошедших с последнего момента
1 такт ~ 500 наносекунд
*сори асм не знаю

Как сделать чтобы выполнялось действие с такой скоростью ?

Цитата:
Сообщение от ACE Valery Посмотреть сообщение
А я полюбопытствую-таки у автора - как вы с помощью пяти тысяч таймеров собираетесь считать наносекунды? Мне для общего развития бы...
Мне просто нужна большая скорость выполнения моего события

Код:
  for i := 0 to 4900 do
  begin
  timer := TTimer.Create(nil);
  timer.Interval := 1;
  timer.Enabled := true;
  timer.OnTimer :=tmr1Timer;
   // caption:=IntToStr(i);
     end;
Как видишь каждому таймеру присаевается одно и тоже действие

Последний раз редактировалось Stilet; 16.04.2013 в 11:44.
jone вне форума Ответить с цитированием
Старый 16.04.2013, 10:17   #22
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Мне просто нужна большая скорость выполнения моего события
Скорость выполнения определятся не таймером а КОДОМ обработки.
самая быстрая скорость обработки пустая процедура, если код сложный то скорость уменьшается.

Для наиболее быстрого инициирования событий (MyEvent) нужен не таймер а цикл
Код:
while not terminated do MyEvent;
Быстрее чем работает процессор скорость не получить.
from raxp 1 такт процессора 500 наносекунд.
НО и то при условии что никто другой(другие программы в т.ч. сама и Windows для своих нужд) на заберет процессор.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 16.04.2013 в 10:41.
evg_m вне форума Ответить с цитированием
Старый 16.04.2013, 10:27   #23
jone
Форумчанин
 
Аватар для jone
 
Регистрация: 27.09.2008
Сообщений: 152
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
Скорость выполнения определятся не таймером а КОДОМ обработки.
самая быстрая скорость обработки пустая процедура, если код сложный то скорость уменьшается.

Для наиболее быстрого инициирования событий (MyEvent) нужен не таймер а цикл
Код:
while not terminated do MyEvent;
Быстрее чем работает процессор скорость не получить.
from raxp 1 такт процессора 500 наносекунд.
програма ступарится, да скорость раз в 1000 быстрее

ступарение избежал

Код:
begin
 while not Application.Terminated do
 begin
   Application.ProcessMessages;
      btn2.Click;
 end;
end;

Последний раз редактировалось artemavd; 23.04.2013 в 09:45.
jone вне форума Ответить с цитированием
Старый 16.04.2013, 11:15   #24
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

а теперь зачем вам нажимать(имитировать нажатие) кнопку (Btn2.Click) если с тем же и даже большим успехом (не нужно будет тратить время на обработку собственно сообщений нажатия кнопки) можно всю логику (код обработки) из OnBtn2Click вынести(перенести) в отдельную процедуру MyEvent. и вызывать ее.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 16.04.2013, 11:43   #25
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
как сделать больше таймеров)
Код:
for i:=0 to мегафинтильон do begin
 with TTimer.Create(self) do begin
  interval:=i;
  OnTimer:=Тут имя процедуры обработчика;
  enabled:=true;
 end;
end;
Цитата:
Как видишь каждому таймеру присаевается одно и тоже действие
Стоп! Тебе не таймеры нужно.
Давай задачу в студию подробно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.04.2013, 12:27   #26
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

from evg-m, все процессоры разные и 1 такт процессора не равен 500 нс, и вообще пройдите по ссылке. А тему в топку, это прикол какой-то.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 22.04.2013, 13:48   #27
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

А я понял, чего хочет ТС, тут не прикол, он серьезно.
Допустим, наш таймер срабатывает раз в миллисекунду. Два таких таймера должны (по мнению ТС) вызывать событие два раза в миллисекунду - каждый по одному разу в миллисекунду. То есть 1000 таймеров должны вызывать событие раз в микросекунду. Тогда ТС нужно создать миллион таймеров, и событие будет срабатывать раз в наносекунду! Таким образом его событие будет работать даже быстрее, чем физические возможности процессора. Я думаю, человек может претендовать на Нобелевскую премию!
Arigato вне форума Ответить с цитированием
Старый 22.04.2013, 14:06   #28
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

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

На сколько я понимаю Вы приближаетесь к квантовой неустойчивости и дискретности времени, где вообще известные теории буксуют..
netpolice вне форума Ответить с цитированием
Старый 22.04.2013, 14:57   #29
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от netpolice Посмотреть сообщение
На сколько я понимаю Вы приближаетесь к квантовой неустойчивости и дискретности времени, где вообще известные теории буксуют..
Ничего, квантовые компьютеры уже на подходе, так и пригодятся таймерные вычисления Джона
Arigato вне форума Ответить с цитированием
Старый 22.04.2013, 15:20   #30
netpolice
Форумчанин
 
Аватар для netpolice
 
Регистрация: 14.02.2013
Сообщений: 222
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Ничего, квантовые компьютеры уже на подходе, так и пригодятся таймерные вычисления Джона
А че... Может мы находимся при создании новой науки. Над Джоном Булеем тоже посмеивались.... (Может реинкарнация?)
netpolice вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать окно больше чем экран монитора gunsoy Win Api 7 01.02.2013 04:54
Работа с таймеров в Qt papos Общие вопросы C/C++ 0 14.11.2010 20:05
Менеджер таймеров Alex Cones Общие вопросы Delphi 9 11.11.2010 19:34
Где найти исходники на Java( 1 проект - больше 1000 классов, 2 проект - больше 100, 3 проект - больше 10) Pti44ka Общие вопросы по Java, Java SE, Kotlin 2 09.09.2010 21:31
Варианты реализации программы с использованием таймеров Casper-SC Общие вопросы Delphi 10 28.11.2009 19:18