Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ветви шаблонанаписаны в коде KIB, который
Да, для дебаггинга реализую отключение пользовательской программы от движка, если вы это имели ввиду. Возможно неверно понял.
Работа с одним большим канвасом имеет массу ограничений. Я уже думал над таким вариантом и даже обсуждал с Николаем.
Поясню: Вы это делаете потому что используете штатный класс Ccanvas. Там готовые решения в рамках которых Вы работаете. Но я не использую класс Ccanvas. Все коды отрисовки написаны личная разработка. Поэтому я не придерживаюсь концепции - один канвас для ВСЕГО. На мой взгляд, это технически неудобное и малоэффективное решение в условиях графика. Проще использовать наборы объектов битмап и к ним цеплять готовые ресурсы, чем иметь один битмап и программно выстраивать взаимодействие изображений на нем. Даже представить сложно. Но это не главное.
Представьте насколько труднее реализовать концепцию многооконного графического интерфейса, если у Вас только ОДИН канвас. Я бы за такое не взялся.
Но даже это не является решающим. Главная причина отказа от идеи одного канваса для всех изображений: когда есть только один канвас, перемещение окон интерфейса требует перерисовки внутри среды MQL. В противовес этому, если каждое окно занимает свой объект битмап и двигается ObjectSetInteger(), - перерисовка при перемещении ложится на штатные функции которые работают вне среды MQL. Поэтому это намного быстрее.
Просто у Вас несколько другое направление разработкив котором эффективнее работают другие решения.
За наводку на TextOut большое спасибо. Исследую этот момент.
Я как раз НЕ использую штатный канвас :).
И мне как раз оказалось проще реализовать многооконный интерфейс на одном битмапе. Но каждому свое!
И на практике видимо быстрее перерисовать целый канвас чем использовать ObjectSetInteger и т.д...
Я как раз НЕ использую штатный канвас :).
И мне как раз оказалось проще реализовать многооконный интерфейс на одном битмапе. Но каждому свое!
Увы, не во всех случаях. Для моих задач технически проще работать с ограниченным набором битмапов. И 100% быстрее. Намного быстрее.
Но, для других разработок лучше работают другие решения, и поэтому да - каждому свое. :)
Нет Перт, все равно too much. На твой интерфейс со всем текстом, тенями и т.д. максимум 50 мс на слабеньком процессоре.
Да, все проверю еще раз. Но тут дело в другом. Блок рисования ведь не только рисует. Внутри него логические лабиринты обрабатывающие приходящие события. Они нужны чтобы определять что нужно рисовать, что нет. Выбирать откуда брать изображения, куда и как их накладывать. Если бы это была простая функция отрисовки в 100 строк, то и говорить нечего. Но это массивный механизм для обеспечения рисования ВСЕГО.
Это стоит принимать во внимание.))
Я как раз НЕ использую штатный канвас :).
...
А это, приятный сюрприз. :) Самостоятельная разработка это всегда круто. Даже если она несовершенна.
Я не против класса Ccanvas (даже включил его функционал в файлы конструктора), но не пользуюсь пока. Ключевое слово "пока". Есть у меня на него большие планы. В дальнейшем.
Да, все проверю еще раз. Но тут дело в другом. Блок рисования ведь не только рисует. Внутри него логические лабиринты обрабатывающие приходящие события. Они нужны чтобы определять что нужно рисовать, что нет. Выбирать откуда брать изображения, куда и как их накладывать. Если бы это была простая функция отрисовки в 100 строк, то и говорить нечего. Но это массивный механизм для обеспечения рисования ВСЕГО.
Это стоит принимать во внимание.))
Нет, при правильной реализации событийная модель не отнимает больше микросекунды( одной миллионной доли), даже если там тысячи проверок.
Да я не обороняюсь)) Ха-ха. Просто объясняю. ))
Хорошо. Начну с простого теста. Один канвас на весь экран заполню одним цветом и замерю время. Ты сделай замеры своей функции отрисовки и тогда станет понятнее, есть ли у меня в коде тормоза. Возможно, есть. Не спорю. Нужно проверить.
Да я не обороняюсь)) Ха-ха. Просто объясняю. ))
Хорошо. Начну с простого теста. Один канвас на весь экран заполню одним цветом и замерю время. Ты сделай замеры своей функции отрисовки и тогда станет понятнее, есть ли у меня в коде тормоза. Возможно, есть. Не спорю. Нужно проверить.
Подумал, вдруг ты ни разу не работал с профилированием. Ведь с дебагом тоже не работаешь.
Подумал, вдруг ты ни разу не работал с профилированием. Ведь с дебагом тоже не работаешь.