Мигание линий и прямоугольников в момент прогрузки котировок - страница 2

 

Попробовал запустить тот код (который выше), у меня не мерцает. В тестере тоже попробовал -  тоже не мерцает. Пробовал сжать окно так, чтобы левый край ушел за пределы видимости - тоже не мерцает.

А вот что заметил - если сжать график по вертикали, чтобы прямоугольники стали узкими, они (некторые из них) иногда получаются то шире на 1 пиксель, то уже. Синяя линия то по центру, то ближе к краю, то совсем на краю - вот от этого есть неприятные впечатления. Надо более разумно подойти к расчету уровней, чтобы не было такого.

 
Dmitry Fedoseev:

Попробовал запустить тот код (который выше), у меня не мерцает. В тестере тоже попробовал -  тоже не мерцает. Пробовал сжать окно так, чтобы левый край ушел за пределы видимости - тоже не мерцает.

А вот что заметил - если сжать график по вертикали, чтобы прямоугольники стали узкими, они (некторые из них) иногда получаются то шире на 1 пиксель, то уже. Синяя линия то по центру, то ближе к краю, то совсем на краю - вот от этого есть неприятные впечатления. Надо более разумно подойти к расчету уровней, чтобы не было такого.

Вы перейдите на W1 и потом на пару набрасывайте другие пары мышкой, чтобы найти ту, в которой ещё не загружены котировки. А когда увидите, как они загружаются, то увидите мерцание.

Проверено на двух компах и 1 VPS. Разницы нет. Если нет мерцания, то видео в студию, как грузятся котировки и свеча доходит до отсечки. Дело не в моём прототипе, это я сначала заметил на одном индюке (не своём), потом другом, а потом и свой проверил.

Без разницы, прямоугольники это или линии, исход один. Однако, ещё хуже, если баг не всегда воспроизводится, тогда это "плавающий баг", который сложнее отследить и исправить.

Также обратите внимание, что в конце выложен исправленный код, который не вызывает ошибок, однако использован канвас.

По поводу расчёта уровней и их ширины, то попробуйте предложить свои варианты расчёта. Прототип же дан для другой задачи.

 
Vitaliy Kuznetsov:

Вы перейдите на W1 и потом на пару набрасывайте другие пары мышкой, чтобы найти ту, в которой ещё не загружены котировки. А когда увидите, как они загружаются, то увидите мерцание.

Проверено на двух компах и 1 VPS. Разницы нет. Если нет мерцания, то видео в студию, как грузятся котировки и свеча доходит до отсечки. Дело не в моём прототипе, это я сначала заметил на одном индюке (не своём), потом другом, а потом и свой проверил.

Без разницы, прямоугольники это или линии, исход один. Однако, ещё хуже, если баг не всегда воспроизводится, тогда это "плавающий баг", который сложнее отследить и исправить.

Также обратите внимание, что в конце выложен исправленный код, который не вызывает ошибок, однако использован канвас.

По поводу расчёта уровней и их ширины, то попробуйте предложить свои варианты расчёта. Прототип же дан для другой задачи.

Когда свой словарь напишите, чтобы можно было понять ваш особенный язык...

 
Когда W1 и MN1 формируются, график и без индикатора неслабо глючат. Поэтому не стоит парить по поводу мерцания в этом случае. А вот свое кривое вычисление уровней стоит поправить, и сказать спасибо, за намек на то, что это возможно и есть куда стремиться.
 
Dmitry Fedoseev:

Когда свой словарь напишите, чтобы можно было понять ваш особенный язык...

Или написать словарь или не общаться с 1 из 1000, кто меня не понимает (или притворяется ) и цепляет во всех темах. Что же выбрать...

Dmitry Fedoseev:
Когда W1 и MN1 формируются, график и без индикатора неслабо глючат. Поэтому не стоит парить по поводу мерцания в этом случае. А вот свое кривое вычисление уровней стоит поправить, и сказать спасибо, за намек на то, что это возможно и есть куда стремиться.

Через мерцание выявлен баг. С расчётами при канвасе бага нет. Есть база для поиска и устранения, есть коды для сравнения, тема озвучена, предложения в ветке были даже по поводу загрузки баров.

Далее уже программисты терминала пусть подумают над решением или напишут, как правильно сделать без канваса. Поскольку проблема у многих продуктов (даже многолетняя разработка VP v10 мерцает).


Кривое вычисление уровней в прототипе? Это ли шутка? Прототип был для чего? Ну напишите и покажите код с правильным вычислением, а то это просто пустой звук. К тому же не факт, что тот же код используется в моих индикаторах.

Лучше свои исходники ещё раз перепроверьте на ошибки.

 
И читать еще не умеешь. Или типа вообще не читатель, только писатель? 
 
Vitaliy Kuznetsov:

...С расчётами при канвасе бага нет...

Новая секта верующих в святой канвас? График и без индикаторов глючит. И чего там выявлять? Достаточно открыть график и увидеть, как он глючит.

 
Dmitry Fedoseev:
И читать еще не умеешь. Или типа вообще не читатель, только писатель? 

От Вас видимо заразился:


Чтобы не усугублять заразу и флуд, прекращаю Вас воспринимать всерьёз и читать всё что Вы пишите, только иногда под попкорн и с газировкой. И конечно никакого общения.

Человек, опускающийся до бесконечных претензий и глупых вопросов не по делу, не будет в моём окружении никогда. А Вы можете продолжать и дальше скакать по моим темам и развлекать своими комментариями не по делу, для того и форум.

// я же конечно продолжу и дальше работать над поиском решений по улучшению терминала МТ5 и грамотного перевода своих продуктов с МТ4. Собаки лаят, караван идёт.

 

Помогу вам - оставляю вас в обществе той 1000 человек)))

Глупые вопросы)) воистину - глупость не имеет границ.

 
Vitaliy Kuznetsov #:


Я не знаю может уже что то допилили касательно обьектов рисования, главное в нужное место воткнуть чарт редрав и многие проблемы решаются,
так как редрав происходит во время тика(это не вам написано а читающим начинающим, у вас другая ситуация),
а если процесс не связан с тиками то будут как будто тормоза, 

но у меня проблема подобного рода именно с канвасом, удивительно вроде 1 обьект, запустил его обновление в чарт евент
и вот!!! двигаю мышкой и он моргает, аж бесит, и проц подлетает до 19%, как будто включил безконечный цикл в сервисе без слипа в миллисекунду.

пишу то же самое на обьектах, вместо 1 обьекта канваса 35 обьектов линий панелей итд, на каждое событие чарт эвент, случайным образом обьекты перерисовываются.
и никаких промаргиваний и процессор не шпарит, подобное(тупящее) поведение у обьектов бывает когда удаляешь обьект и создаешь новый, да это тяжелый процесс понимаю непонятно почему.
но что?!! канвас при Update(); удаляет обьекс и создает новый???? или это делает Erase? кто в классе CCanvas отвечает за промаргивание?
по логике до  Update() вся сборка производится вне влияния на обьект рисования значит  Update() тупит... 
ухожу от канваса в пользу встроенных обьектов но похоже придется строить свой класс обьектов на OpenGL,

кстати лайфхак, может кому будет полезно, я написал класс обработки обьектов, сначала записываю параметры потом запускаю Create, и в зависимости от типа обьекта
параметры устанавливаются в обьект, если я вызову метод delete и снова create то у меня рисуется обьект с теме же параметрами
в деструкторе класса соответственно delete, что удаляет все созданное программой при ее завершении без необходимости что либо делать в деините.
далее из управляющей программы создаю массив обьектов layer0 и layer1, 
и задаю все что им нужно, при увеличении массива происходят конструкторы, при уменьшении деструкторы(деструктор удаляет обрабатываемый обьект)
и вот если у меня в layer0 возник create то весь массив layer1 заускает delete и сразу create, таким образом появляется имитация слойности, то есть новый обьект рисуется под старыми 
 для того чтобы это не тормозило процессы не подвисало
все это запускается через событие таймер 3 сек, при создании обьекта на нижнем слое срабатывает флаг который по таймеру сообщает что верхние слои нужно перерисовать.

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