Jump to content


Photo

Вопросы по скриптингу

Arma3 как плотформа для созда Скритпы

  • Please log in to reply
1486 replies to this topic

#701 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 22 August 2017 - 03:18

Ilias, АЛУ не выполняет вообще ни каких операция с любым другим устройством, которое находится вне процессора. Он имеет доступ только к регистрам общего и специального назначения (Около 4-32 штук в целом на весь процессор), все операции (Арифметические и логические - поэтому оно и называется Арифметико-Логическое Устройство) проводятся исключительно в них. А вот всеми другими устройствами уже управляет "Устройство управления ЭВМ", которое по запрошенной команде или результату расположеному в регистре уже раскидывает сигналы и на ОЗУ, и на Жесткий диск и даже на сам АЛУ (Без этого устройства этот калькулятор вообще ничего не сделает)

(то что я написал: в УУ попала команда write, он её прочитал, поместил в регистр, АЛУ её переработала, УУ взял из выходного регистра сигнал на перезапись для RAM, отправил сигнал к RAM, она ответила успех|провал, УУ поместил это в регистр, АЛУ переработала..)

Тоесть если правильно вас понял ответ: АЛУ здесь не участвует ?

 

edit: сам прочитал, и понял как тупо просто: если поступила команда изменение данных (с данными и информацией о том что изменить) она идёт в АЛУ, всё остальное УУ делает сама, исходя из этого не большой вопрос что именно мериют отображатели загрузки ЦП (загруженность УУ ? если да: как ?) ?

И ещё кое что (надеюсь не слишком достал :) ): Что на самом деле произойдёт если к RAM одновременно отправятся команды read и write к одной ячейки памяти ? (читал что процессы смешаются и read вернёт полуперезаписанный вариант содержимого, верно?) (и тот же вопрос по отношению к сверхбыстрой памяти (памяти CPU) (если такая ситуация с ней возможна)-- ?)

 

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

спасибо за новую мысль


Edited by Ilias, 22 August 2017 - 04:43.

  • 0

#702 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 22 August 2017 - 12:18

Ilias, АЛУ = калькулятор, ничего он больше не умеет.
Все мониторы ЦП меряют соотношение простоя и выполненных команд (ЦП может не только выполнять команды, а еще и ждать чего-либо (Например, ЦП может выполнить 100 команд (За 100 тактов), в 30 из них он ничего не делал => загрузка 70%))
Если такое все же случится (Хз правда как это случится, ибо команды устройством управления памяти выполняются последовательно), то на выходе получится не полуперезаписанный вариант, а вообще полная несусветица
  • 0

#703 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 22 August 2017 - 17:06

Все мониторы ЦП меряют соотношение простоя и выполненных команд (ЦП может не только выполнять команды, а еще и ждать чего-либо (Например, ЦП может выполнить 100 команд (За 100 тактов), в 30 из них он ничего не делал => загрузка 70%))

Это и так ясно ) , (вопрос-- "как это меряется?" (то есть он считает команды типа idle ?))

ибо команды устройством управления памяти выполняются последовательно

Будь это так в чём бы тогда была проблема?

(с write,write понятно (CPU получает одинаковые данные а затем отсылает результаты и они перезаписывают друг друга), но с read,write ?)


Edited by Ilias, 22 August 2017 - 17:19.

  • 0

#704 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 22 August 2017 - 21:23

 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

Если запись на множестве ячеек (например array на SQF это целая куча всего в RAM) то команда read|write: на языке уровня команд выполняемых CPU это солидный набор команд, так что при одновременном выполнении нескольких таких наборов один из которых ведёт к изменениям в allocated для программы памяти RAM другой: на получение и соединение информации возвращает "интересные" результаты;

(Верно ?)


Edited by Ilias, 22 August 2017 - 23:04.

  • 0

#705 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 22 August 2017 - 23:06

 

Слишком надоел :unsure: или сами не уверены ?


Edited by Ilias, 22 August 2017 - 23:09.

  • 0

#706 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 22 August 2017 - 23:24

Ilias, а что тут писать-то вопрос один и тот же, структура данных sqf значительно сложнее базовых типов и при любой не состыковке не то что белеберда будет, а возможно нарушение доступа
  • 0

#707 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 22 August 2017 - 23:42

Ilias, а что тут писать-то вопрос один и тот же, структура данных sqf значительно сложнее базовых типов и при любой не состыковке не то что белеберда будет, а возможно нарушение доступа

То есть #704 верно .?

я не задавал этот вопрос (и судя по всему не понимал когда вы писали имея ввиду сноски на это),

когда занимаешся чем то детальным не замечаешь основных вещей

 

И ещё случаем кто нибудь не знает текстовый редактор (желательно для программирования) с 3d визуализацией страниц ? (чтобы их можно было соединять связями, распределять..) (или 3d редактор в котором удобно было бы писать (на чём нибудь :) ))


Edited by Ilias, 22 August 2017 - 23:44.

  • 0

#708 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 23 August 2017 - 00:07

Ilias, это что за чудо-юдо 3D-текстовый редактор?
  • 0

#709 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 23 August 2017 - 00:24

Ilias, это что за чудо-юдо 3D-текстовый редактор?

Было бы круто (и удобно)

 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

(так чтобы:

_ было можно перемещаться в 6 направлениях (ещё было бы супер если бы можно было для каждого окна установить % зума при перемещении по Z, и максимальные значения),

_ было можно группировать, маркировать, соединять всё подряд,

_ и разумеется при смене фокуса не изменялся порядок (как если просто открыть несколько окон),

)


Edited by Ilias, 23 August 2017 - 00:27.

  • 0

#710 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 23 August 2017 - 00:50

Ilias, бесполезная функция для программирования и конечно же ничего подобного не реализовано
  • 0

#711 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 23 August 2017 - 01:13

Ilias, бесполезная функция для программирования и конечно же ничего подобного не реализовано

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

(абсолютно "бесполезно")


Edited by Ilias, 23 August 2017 - 01:16.

  • 0

#712 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 23 August 2017 - 01:25

Ilias, во-первых, слишком много информации на одном экране, программист должен сосредоточиться на написании текущего участка программы, если ему для этого не достаточно описание параметров функций - значит весь другой код написан плохо и не юзабеле
во-вторых, современные редакторы и так позволяют делить экран если это потребуется
  • 0

#713 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 23 August 2017 - 02:44

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

поверьте периодически занимаюсь, и с ~20-30 окнами на 2 экранах

_ никогда не испытывал проблем с тем чтобы сосредоточится,

_ только острую нехватку наглядности информации на виду,

 

и не обязательно держать на виду больше чем нужно, просто будет возможность отойти назад и посмотреть на систему, а не только:

всё время её помнить или рисовать абстрактные схемы

 

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

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

 

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

"через шесть часов появилась мысль:

Если запись на множестве ячеек (например array на SQF это целая куча всего в RAM) то команда read|write: на языке уровня команд выполняемых CPU это солидный набор команд,

")

и не начиная с глобальной схемы, а сразу через все уровни (постепенно-- слишком скучно и надоедает)

(в основном такая программа способ держать схему как всё работает не только в голове,

и совместная разработка проще (когда схема перед глазами а не у каждого своя)

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

:D блин,: и можно было бы убрать текст и одну схему запостить, тогда можно было бы вести открытую разработку не раскрывая код)


Edited by Ilias, 23 August 2017 - 04:53.

  • 0

#714 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 23 August 2017 - 16:12

 

и совместная разработка проще (когда схема перед глазами а не у каждого своя)

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

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

 

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

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

 

Что это даёт?

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

 

Такой подход, не я его придумал, весьма устоялся во времени, и вполне эффективен при разработке.

 

Такой подход решает вот это недоразумение на раз

 

и совместная разработка проще (когда схема перед глазами а не у каждого своя)

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

Всё что нужно пользователю, это знать как устроен интерфейс и как с ним взаимодействовать.

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


  • 2

#715 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 23 August 2017 - 18:47

 

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

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


Edited by Ilias, 23 August 2017 - 18:48.

  • 0

#716 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 23 August 2017 - 19:05

модульная система работает медленнее чем цельная

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

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

Извиняюсь за вопрос: а на кой х*й ему это знать? Он что решил в соло переписать весь большой проект? Да и у нормальный проектов все это описано парой слов в документации к проекту, вместе с графическим представлением основного алгоритма

Edited by vlad333000, 23 August 2017 - 19:45.

  • 0

#717 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 23 August 2017 - 21:19

"в соло переписать весь большой проект"

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

 

Поднадоело )

Это зависит от того как разработчикам удобнее, мне было бы не сказано удобнее с таким редактором

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание


Edited by Ilias, 23 August 2017 - 21:22.

  • 0

#718 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 posts
  • Откуда:Кострома

Posted 23 August 2017 - 21:28

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

-_-... вы хоть представляете себе как происходит командная разработка проекта? Или думаете что кучка людей ментальным путем распределит обязанности и спланирует развитие проекта от первой до последней строчки кода?
  • 0

#719 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 23 August 2017 - 22:21

 

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

-_-... вы хоть представляете себе как происходит командная разработка проекта? Или думаете что кучка людей ментальным путем распределит обязанности и спланирует развитие проекта от первой до последней строчки кода?

 

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


  • 0

#720 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 24 August 2017 - 15:21

"в соло переписать весь большой проект"

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

 

Поднадоело )

Это зависит от того как разработчикам удобнее, мне было бы не сказано удобнее с таким редактором

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

Добро пожаловать в Unreal, именно так там и программируется игровой процесс, имя инструменту Blueprint, а тем кто более продвинут, тем в VC++

 

 

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

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

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

 

 

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

Ни что не мешает устроить внутри проекта естественный отбор. Всегда можно устроить конкурс на лучшую реализацию чего либо.

Но это единичные случаи. А не правило.

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


Edited by SteelRat, 24 August 2017 - 15:48.

  • 0




Яндекс.Метрика