Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...
Что можно глазами найти в таблице из 1000 рядов с помощью прокрутки? Какая задача решается?
P.S. Опять оффтопик пошел...
Андрей, задача была дать пользователю возможность создать любую таблицу. Как в шарпе. Мало ли что ему в голову взбредет...))
Предлагаю закончить оффтопик.))
ЗЫ. Справедливости ради надо заметить, что можно перерисовывать только видимую часть таблицы, а невидимую перерисовывать только на событии прокрутки. Но повторю, это был стресс-тест.
ЗЫ. Все зависит от того, как именно меняются значения в таблице. Если значения меняются очень быстро и постоянно, то лучше перерисовывать только видимую область, а невидимую перерисовывать во время прокрутки. Если значения меняются не часто, то лучше перерисовывать все сразу, чтобы в момент начала прокрутки не возникла задержка из за перерисовки. Исходя из того, что точно нельзя знать как часто будут меняться значения в таблице, я выбрал универсальный метод - перерисовывать все сразу. Ведь редко встречаются громадные таблицы, в которых значения пляшут как бешенные. Поэтому, лучше перерисовывать сразу весь канвас и обойти задержку вначале прокрутки.
ЗЫЫ. Вы видели сколько времени перерисовывается канвас 900*7000 пикселей? Эта задержка даже на МТ5 может достигать сотен миллисекунд. Получить такую задержку в момент начала прокрутки очень неприятно. Поэтому, если частота перерисовки небольшая, лучше рисовать все сразу.
Возвращаясь к топику - вот одна из причин необходимости многопоточности в МТ5!))
ЗЫЫЫ. На последок. Для того, чтобы обойти проблему с нагрузкой на процессор при слишком частой перерисовке больших таблиц, я выбрал другой путь. Сделал специальный регулятор скорости вывода изменения значений. То есть, значения меняются быстро, но пользователь регулирует скорость их вывода (перерисовки) слайдером (я его показывал). Таким образом, нагрузка на процессор снижается в разы и пользователю удобнее воспринимать информацию из таблицы.
Андрей, задача была дать пользователю возможность создать любую таблицу. Как в шарпе. Мало ли что ему в голову взбредет...))
Предлагаю закончить оффтопик.))
ЗЫ. Справедливости ради надо заметить, что можно перерисовывать только видимую часть таблицы, а невидимую перерисовывать только на событии прокрутки. Но повторю, это был стресс-тест.
ЗЫ. Все зависит от того, как именно меняются значения в таблице. Если значения меняются очень быстро и постоянно, то лучше перерисовывать только видимую область, а невидимую перерисовывать во время прокрутки. Если значения меняются не часто, то лучше перерисовывать все сразу, чтобы в момент начала прокрутки не возникла задержка из за перерисовки. Исходя из того, что точно нельзя знать как часто будут меняться значения в таблице, я выбрал универсальный метод - перерисовывать все сразу. Ведь редко встречаются громадные таблицы, в которых значения пляшут как бешенные. Поэтому, лучше перерисовывать сразу весь канвас и обойти задержку вначале прокрутки.
ЗЫЫ. Вы видели сколько времени перерисовывается канвас 900*7000 пикселей? Эта задержка даже на МТ5 может достигать сотен миллисекунд. Получить такую задержку в момент начала прокрутки очень неприятно. Поэтому, если частота перерисовки небольшая, лучше рисовать все сразу.
Возвращаясь к топику - вот одна из причин необходимости многопоточности в МТ5!))
ЗЫЫЫ. На последок. Для того, чтобы обойти проблему с нагрузкой на процессор при слишком частой перерисовке больших таблиц, я выбрал другой путь. Сделал специальный регулятор скорости вывода изменения значений. То есть, значения меняются быстро, но пользователь регулирует скорость их вывода (перерисовки) слайдером (я его показывал). Таким образом, нагрузка на процессор снижается в разы и пользователю удобнее воспринимать информацию из таблицы.
Peter, а вы понимаете разницу между асинхронностью, могопоточностью и параллельностью?
Peter, а вы понимаете разницу между асинхронностью, могопоточностью и параллельностью?
Предлагаю привести пример асинхронной или параллельной работы в одном потоке.
Ок, Приводите!
Ок, Приводите!
Ок, Приводите!
Хлопок одной лодонью ? дзен вовне это не дзен :-)
ну вот ты точно знаешь, что Петер не высовывается из песочницы. Он в принципе не может понять терминов
К чему такие вопросы ? ну да он начнёт флудить, как проф.репортер
Хлопок одной лодонью ? дзен вовне это не дзен :-)
ну вот ты точно знаешь, что Петер не высовывается из песочницы. Он в принципе не может понять терминов
К чему такие вопросы ? ну да он начнёт флудить, как проф.репортер
Ребята, ну элементарная логика. Ну, как в одном потоке сделать что то асинхронное, перепрыгнув через единую последовательность действий? Только, если двигатся по кругу и на каждой итерации принимать решения, какие операции выполнять, а какие откладывать. Но, разве это нормальная асинхронность? Про параллельность вообще говорить не стоит. Какая может быть параллельность в одном потоке? ))
Два, или двадцать два потока могут быть как синхронными, так и асинхронными. Один поток может включать как синхронные, так и асинхронные операции. Вы сами указали, как. Параллельные включать не умеет.
Ребята, ну элементарная логика. Ну, как в одном потоке сделать что то асинхронное, перепрыгнув через единую последовательность действий? Только, если двигатся по кругу и на каждой итерации принимать решения, какие операции выполнять, а какие откладывать. Но, разве это нормальная асинхронность? Про параллельность вообще говорить не стоит. Какая может быть параллельность в одном потоке? ))
асинхронный вызов не обязательно приводит к созданию нового потока