Вопрос к профи ....

 

Если существует потребность работы с большим количеством графических объектов примерно 1000 -15000, как Вы это делаете ???

Я вижу два способа

по необходимости создавать требуемые графические объекты и удалять.

и через инит создать требуемое максимальное количество объектов, нужных типов и затем просто их перемещать при необзходимости в видимую зону и не видимую..

Так вот вопрос что быстрее будет работать, удаление и создание или перемещение ?

За один проход может модифицироваться, создаваться или удаляться порядка 500-700 графических обьектов...

 
Vladimir Pastushak:

Если существует потребность работы с большим количеством графических объектов примерно 1000 -15000, как Вы это делаете ???

Я вижу два способа

по необходимости создавать требуемые графические объекты и удалять.

и через инит создать требуемое максимальное количество объектов, нужных типов и затем просто их перемещать при необзходимости в видимую зону и не видимую..

Так вот вопрос что быстрее будет работать, удаление и создание или перемещение ?

За один проход может модифицироваться, создаваться или удаляться порядка 500-700 графических обьектов...

Лучше перемещать. Для этого, в цикле, переместите все объекты, а затем один раз выполните ChartRedraw().
 
Karputov Vladimir:
Лучше перемещать. Для этого, в цикле, переместите все объекты, а затем один раз выполните ChartRedraw().
А как можно замерить время выполнения программы ?
 
Vladimir Pastushak:
А как можно замерить время выполнения программы ?
Вот хороший пример счётчика в миллисекундах: GetTickCount
 
Karputov Vladimir:
Вот хороший пример счётчика в миллисекундах: GetTickCount
Да да да, именно его я и искал ....
 

Результат впечатляющий конечно :

При перемещении 688 миллесекунд, а при создании и удалении 17031 что в 24 раза быстрее...

Может помните деррективу для ускорения ?
 
Vladimir Pastushak:

Результат впечатляющий конечно :

При перемещении 688 миллесекунд, а при создании и удалении 17031 что в 24 раза быстрее...

Может помните деррективу для ускорения ?
Не понял о чём речь.
 
Karputov Vladimir:
Не понял о чём речь.

Вот при Optimize=1    https://www.mql5.com/ru/forum/58241

 
Использовал раньше граф объекты в интерфейсах в больших количествах - более 500 уже заметно тормозят. Потом перешел на отрисовку своих примитивов на канве и проблем вообще нет.
 

На мой взгляд, графические объекты необходимы для того, чтобы более удобно демонстрировать человеку те или иные моменты на графике цены.

Соответственно, создание одновременнно более сотни графических объектов мне кажется совершенно неразумным. А уж если речь идет о советнике - то ему графические объекты вобще не нужны.

 
George Merts:

На мой взгляд, графические объекты необходимы для того, чтобы более удобно демонстрировать человеку те или иные моменты на графике цены.

Соответственно, создание одновременнно более сотни графических объектов мне кажется совершенно неразумным. А уж если речь идет о советнике - то ему графические объекты вобще не нужны.

Да ну что Вы говорите ....
Причина обращения: