Segnetics

Вернуться   Segnetics > Форум Segnetics > Вопросы о программировании

Вопросы о программировании Вопросы, касающиеся программирования на FBD

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.12.2018, 12:33   #1
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Опять о циклах

Доброго дня. Вопрос этот уже освещался и уважаемый Арсений всячески отговаривает использовать циклы внутри программы. Но поработав с ТРИМами я убедился, что есть моменты при изготовлении менюшек и графики ( без использования смарта и картинок ) когда циклы необходимы. Может быть стоит просветить о тонкостях тех, кто интересуется( естественно на свой страх и риск).
boxmen77 вне форума   Ответить с цитированием
Старый 11.12.2018, 14:10   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Доброго дня. Вопрос этот уже освещался и уважаемый Арсений всячески отговаривает использовать циклы внутри программы. Но поработав с ТРИМами я убедился, что есть моменты при изготовлении менюшек и графики ( без использования смарта и картинок ) когда циклы необходимы. Может быть стоит просветить о тонкостях тех, кто интересуется( естественно на свой страх и риск).
Циклы были нужны скорее в 2G/2Gi, в Триме и SMH4 они уже и не нужны особо из-за многократно возросшей вычислительной мощности.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 11.12.2018, 14:41   #3
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от Arsie Посмотреть сообщение
Циклы были нужны скорее в 2G/2Gi, в Триме и SMH4 они уже и не нужны особо из-за многократно возросшей вычислительной мощности.
Не согласен. В ТРИМе многострочные меню с прокруткой без цикла делать очень громоздко. Также кучу графики обновлять за один тик.
boxmen77 вне форума   Ответить с цитированием
Старый 11.12.2018, 17:00   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Не согласен. В ТРИМе многострочные меню с прокруткой без цикла делать очень громоздко. Также кучу графики обновлять за один тик.
У меня как-то получилось же. Без проблем, циклов и кучи графики.

Дизайн как в СМАрте, только нормальное а-ля смартфон, с жестами и плавностью. Релиз можно будет скоро посмотреть в Конструкторах.

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


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 11.12.2018, 19:32   #5
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от Arsie Посмотреть сообщение
У меня как-то получилось же. Без проблем, циклов и кучи графики.

Дизайн как в СМАрте, только нормальное а-ля смартфон, с жестами и плавностью. Релиз можно будет скоро посмотреть в Конструкторах.

Циклы, кстати, наглухо "убивают" графический процессор, перегружая его конвейер. Т.е. все мечты вывести графику в цикле разобьются о серые будни нашей с вами действительности.
Хорошо. Забудем о графики. Я для себя делаю универсальное, маштабируемое меню и я понял, что без циклов выводить на экран средствами только FBD не очень. Интересуют свойства и параметры не вошедших в штатную библиотеку блоков. Блок Screen Trim (str) так и создан для цикла.

Последний раз редактировалось boxmen77, 11.12.2018 в 19:58
boxmen77 вне форума   Ответить с цитированием
Старый 12.12.2018, 11:47   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Хорошо. Забудем о графики. Я для себя делаю универсальное, маштабируемое меню и я понял, что без циклов выводить на экран средствами только FBD не очень. Интересуют свойства и параметры не вошедших в штатную библиотеку блоков. Блок Screen Trim (str) так и создан для цикла.
Тексты для графических дисплеев - это тоже графика. Процессор согласно описанию выводит каждую букву в картинку и даёт команды ускорителю вывести эту картинку скомпоновать с другими картинками и вывести результат на экран.

Посмотрите свойства своей видеокарты, установленной на вашем компьютере. Среди всех свойств вы увидите максимально возможную глубину конвейера команд. Если видеокарта более-менее серьёзная, то отдельно для 2D, отдельно для 3D. В моей видеокарте 2D конвейер может "скушать" очередь из 65535 команд. Это значит, что за время формирования одного кадра он может выполнить не более 65535 команд. Если задать больше, то выполнение либо прервётся (будут артефакты на экране), либо будет срыв синхронизации (изображение дёрнется).

У Трима5/SMH4 конвейер на 512 команд. Выведете вы их 512 блоками или 512 раз прокрутите один блок - нет разницы. За одним исключением: конвейер работает непрерывно и если 1000 команд приедет в процессе выполнения длинного тика, то ускоритель успеет часть очереди выполнить и проблем никаких не будет. А если вы 1000 команд запихнёте разом, в цикле, то ускоритель подавится.

Я уже много раз говорил на форуме: не лезьте к этим блокам. Даже я, прекрасно понимающий всю подноготную, делаю алгоритмические ошибки в работе с этими блоками. Не обижайтесь, но у вас нет вообще никакого понимания, зато есть настроение помочь бабушке, перевести её через дорогу. Но посмотреть на светофор вы не догадываетесь, а это чревато проблемами и для вас и для бабушки. Вот я вам сейчас рассказал о светофоре, но кроме светофора нужно учитывать другие факторы: все ли остановились, не едет ли скорая/пожарная/милиция с мигалкой и прочее, что отправит и вас и бабушку на больничную койку. Если не хуже.

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


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 18.12.2018, 08:21   #7
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: Опять о циклах.

Появились вопросы.
1. Графический процессор во время тика складывает информацию и только в конце тика выводит на экран?
2. Как он обрабатывает блоки (включенные) с координатами за пределами экрана, игнорирует или учитывает?
boxmen77 вне форума   Ответить с цитированием
Старый 18.12.2018, 11:00   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Появились вопросы.
1. Графический процессор во время тика складывает информацию и только в конце тика выводит на экран?
Это я уже описал.



Цитата:
Сообщение от boxmen77 Посмотреть сообщение
2. Как он обрабатывает блоки (включенные) с координатами за пределами экрана, игнорирует или учитывает?
Не то и не то. Учитывает при расчётах, игнорирует при выводе.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 08.02.2019, 12:05   #9
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от Arsie Посмотреть сообщение
У меня как-то получилось же. Без проблем, циклов и кучи графики.

Дизайн как в СМАрте, только нормальное а-ля смартфон, с жестами и плавностью. Релиз можно будет скоро посмотреть в Конструкторах.

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

Последний раз редактировалось Arsie, 08.02.2019 в 12:27
boxmen77 вне форума   Ответить с цитированием
Старый 08.02.2019, 12:21   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Опять о циклах.

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Типа такого?
Примерно так. Кстати, отключите реакцию движка при свайпе меню. А то сбивает его постоянно)

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


Добавлено через 43 минуты

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Типа такого?
Напишите мне на почту, скину вам свой вариант "движка" меню, он скроллит гораздо приятнее, чем ваш. Поставите себе.

Украду у вас переключатель? Я его не делал ещё, ваш вариант мне нравится)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 08.02.2019 в 13:05
Arsie сейчас на форуме   Ответить с цитированием
Старый 11.02.2019, 08:24   #11
boxmen77
Senior Member
 
Аватара для boxmen77
 
Регистрация: Apr 2017
Адрес: MSK
Сообщения: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 5 раз(а) в 5 сообщениях
По умолчанию Ответ: Опять о циклах

Арсений, а на какую почту?
boxmen77 вне форума   Ответить с цитированием
Старый 11.02.2019, 11:00   #12
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Опять о циклах

Цитата:
Сообщение от boxmen77 Посмотреть сообщение
Арсений, а на какую почту?
Техподдержки, конечно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Снова о циклах chaos1727 Вопросы о программировании 5 14.12.2018 19:06
Опять о сертификации New Форум Segnetics 12 08.02.2012 17:13


Часовой пояс GMT +4, время: 16:16.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023