Леонид писал(а):
а называется "Таймер для игр"Откуда такое название, я его не называл так, но мультимедия, еще не есть игры, а гораздо больше, чем только игры. К тому же, все происходит от неумения применять данный компонент. Он запросто может служить для более точной выборки каких-то значений из потока данных с дискретизацией по времени, затем сохранить результат в памяти, а дальше, уже через обычный таймер (или поток) можно выдавать значение на интерфейс, читая значение из памяти.
Если внимательно почитать справку, то сразу станет понятным, почему нежелательно на выходе ставить интерфейсные элементы
wiki писал(а):
Очевидно так же, что в случае занятости основного процесса сообщения от таймера начнут накапливаться в очереди и будут обработаны програмой в тот момент, когда это станет возможно(т.е. основной процесс вернется в состояние простоя). Элемент MMTimer не использует стандартную очередь сообщений, а полностью построен на потоке (Thread), вследствии чего работает параллельно основному процессу и способен генерировать события onTimer через честные 1мсКладов писал(а):
Т.е. не только не гарантируется, что событие будет срабатывать только, когда процесс ожидает сообщений, но напротив: почти наверняка будет происходить прерывание текущей операции, чтобы выполнить указанный обработчик. Я пишу это уже пятый раз и никто так и не въехал в понимание этого процесса
А ускорение будет наблюдаться на тех процессорах, которые поддерживают ускорение частоты, в зависимости от нагрузки процессора. Тут наблюдается увеличение нагрузки на процессор из-за наличия интерфейсного элемента, скорость процессора повышается, соответственно, увеличивается скорость перерисовки интерфейса, но таймер честно прерывает операцию отрисовки так, как ему надо. А отрисовка ускоряется только за счет ускорения процессора. Возможен еще и худший вариант -- отнимание времени процесса от других процессов в системе, что совсем есть нехорошо. Почему не наблюдается у меня, только потому, что второй процессор спокойно успевает перерисовать интерфейс, не влияя на первый.
Вывод тут один -- такую схему построения, лучше не применять