Вверх ↑
Этот топик читают: Гость
Ответов: 1429
Рейтинг: 50
#1: 2010-10-05 16:49:39 ЛС | профиль | цитата
В FTCG нет таймера потому, что, просто, еще не написан, или есть ограничение?
карма: 0

0
Ответов: 3349
Рейтинг: 233
#2: 2010-10-05 17:09:57 ЛС | профиль | цитата
login, а зачем он там?
------------ Дoбавленo в 17.09:
FTCG используется только в критических места где необходим лучший способ кодогенерации, а ускорить Timer не удаться как не крути
карма: 1

0
Ответов: 1429
Рейтинг: 50
#3: 2010-10-05 17:23:01 ЛС | профиль | цитата
Ivann, у меня таймер генерит много событий, которые сразу направляются в FTCG контейнер. Преобразование форматов на границе входа в этот контейнер зря ест ресурсы, пусть бы себе рождались внутри контейнера сразу. Поэтому я и спросил.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#4: 2010-10-05 17:26:03 ЛС | профиль | цитата
login писал(а):
просто, еще не написан, или есть ограничение?


login писал(а):
у меня таймер генерит много событий

много это сколько? стандартный таймер не способен выдать более ~80 событий в секунду - я бы не сказал, что это много
карма: 27
0
Ответов: 1429
Рейтинг: 50
#5: 2010-10-05 17:34:27 ЛС | профиль | цитата
Dilma, Смотря сколько таких схемок ) У меня панелек 64 штучки, внутри каждой контейнер. 80*64=5120

Это пока не критичное место, просто еще не дошел до места в проге, где Timer в паре с TimeCounter будут создавать 2 события в миллисекунду.
Точно еще не знаю, но скорее всего события направятся сразу в FTCG. Много бессмысленных преобразований будет.
карма: 0

0
Разработчик
Ответов: 26117
Рейтинг: 2126
#6: 2010-10-05 17:44:59 ЛС | профиль | цитата
login писал(а):
где Timer в паре с TimeCounter будут создавать 2 события в миллисекунду

Нереально, говорю сразу. Обычный таймер на такое не способен, тебе же написали
Dilma писал(а):
~80 событий в секунду

Около 12.5 msec. Умножаем на два, получаем 25 msec. И как ты ту не крути одним местом, увы...
Даже MMTimer, и тот выдает одно событие в 1 msec, но никак не одне в 0.5 msec. И, в данном случае, ни в коем случае нельзя использовать в цепи GDI элементы
------------ Дoбавленo в 17.44:
Драйвер уровня Ring0 писать надо, тогда получится
карма: 22

0
Ответов: 1429
Рейтинг: 50
#7: 2010-10-05 18:18:02 ЛС | профиль | цитата
nesco, а это?

code_20911.txt
карма: 0

0
файлы: 1code_20911.txt [1KB] [397]
Ответов: 16884
Рейтинг: 1239
#8: 2010-10-05 18:53:48 ЛС | профиль | цитата
login, +-километр
toch.png
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1toch.png [642B] [570]
Ответов: 1429
Рейтинг: 50
#9: 2010-10-05 19:00:04 ЛС | профиль | цитата
Tad, это экстримальный пример. Выбросы на скорости 500 микросекунд = 1-3 микросекунд. (чем больше промежуток тем выше точность)
У проги будет небольшой буфер, его будет хватать для погашения этих выбросов.
карма: 0

0
Разработчик
Ответов: 26117
Рейтинг: 2126
#10: 2010-10-05 19:12:27 ЛС | профиль | цитата
login, извини за мой французский, но херней ты страдаешь. Если ты запустишь такую схему в цикле, ты ничего увидеить не сможешь и ни на что не нажмешь, процессор загрузится на 100%, блокируя все IO операции, чтобы только освободить все ресурсы твоему приложению. К примеру, ты знаешь, что данный элемент Sleep начисто блокирует поток на себя, в котором находится,, видимо, не знаешь, коли предлагаешь такие решения. Да и таймер ставить в 0 не рекомендуется по тойже причине. Но если, конечно, обработка будет выборочная, не постоянная, то еще как-то можно согласится на подобное решение, но попробуй тогда подвигать формой, когда оно будет что-то отрабатывать, по подобной схеме. Видали мы такие некорректные проги, и плевались от них, нормальные программисты так не делают
карма: 22

0
Ответов: 1429
Рейтинг: 50
#11: 2010-10-05 19:17:43 ЛС | профиль | цитата
nesco, если Вы правы, то мне прийдется многое переосмыслить.

Завтра мы с Ivann начнем разбирать исходники OpenAsio в которых есть доступ к аппаратному таймеру проф-звуковых карт. Где, с идеальной точностью, события генерятся на скорости до 200 штук в миллисекунду железкой.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#12: 2010-10-05 19:17:50 ЛС | профиль | цитата
На таймер на 2-3 микросекунды.
code_20913.txt
Хотя For (для 2-х мкс) можно вообще выбросить - такую выдержку даёт сам Hub
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
2
файлы: 1code_20913.txt [566B] [450]
Голосовали:ser_davkin, login
Разработчик
Ответов: 26117
Рейтинг: 2126
#13: 2010-10-05 19:23:23 ЛС | профиль | цитата
Tad, а где схема

login писал(а):
Где, с идеальной точностью, события генерятся на скорости до 200 штук в миллисекунду железкой

Успеешь ли ты обработать информацию за это время, вот в чем вопрос, учитывая, что ты работаешь не в нулевом кольце ядра
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#14: 2010-10-05 19:28:10 ЛС | профиль | цитата
nesco писал(а):
Tad, а где схема
Basic вспомни.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1429
Рейтинг: 50
#15: 2010-10-05 19:29:45 ЛС | профиль | цитата
nesco, но все секвенсеры так работают. 0,5 мсек стандарт. И это вроде не считается большой проблеммой. События - большая часть пустышки, отрубаются после первого условия, затем еще есть уровни где они отрубаются. Но и до конца доходят только полезные. Их меньше трети.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)