Игры можно считать системами реального времени?

Я читал в системах реального времени и как они работают и т.д. Я смотрел на статью Википедии также, в которой было сказано, что игру Шахмат с таймером на перемещение можно считать системой реального времени, потому что программа ДОЛЖНА вычислить перемещение в то время. Что относительно других игр? Как мы знаем, игры обычно пытаются достигнуть 25 + кадр/с, можно было считать системой мягкого реального времени с тех пор, если это подпадает под 25 (я использую 25 в качестве предопределенного порога btw), это не конец света, просто хит к производительности, которую мы хотели?

Также - игры имеют события, которые они должны обработать также. Пользователь использует клавиатуру/мышь, и система должна ответить на те события соответственно в течение (снова) предопределенного времени, прежде чем игра, как полагают, "перестала работать".

О, и я говорю сингл на данный момент для хранения вещей простыми.

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

7
задан jxh 15 April 2014 в 02:24
поделиться

8 ответов

Из Википедия ,

Говорят, что система работает в реальном времени, если общая правильность операции зависит не только от ее логической правильности, но и от времени, в течение которого она выполняется. Классическая концепция заключается в том, что в системе жесткого или немедленного реального времени завершение операции после ее крайнего срока считается бесполезным - в конечном итоге это может вызвать критический отказ всей системы. С другой стороны, система мягкого реального времени допускает такую ​​задержку и может отвечать снижением качества обслуживания (например, пропуском кадров при отображении видео).

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

Еще одна мысль связана с искусственным интеллектом в FPS. Вероятно, можно было бы рассматривать ИИ как «неудавшуюся систему», если бы он не смог вернуть результаты за достаточное время и, следовательно, в конечном итоге завис.

16
ответ дан 6 December 2019 в 08:14
поделиться

Хотя я думаю, что нам нравится верить, что наши системы работают в (мягком) реальном времени, одна вещь, которая меня не покидает, - это аспект точности моделирования Работа.

Чтобы уместить все в 16,6 мс, мы часто выполняем работу с низкой точностью в местах, где это предположительно не меняет результат, но дает результат (измеряемый по «миганию изображения на экране»). ), которые немного отличаются от тех, которые были бы, если бы мы использовали меньше сокращений. Очевидные горячие клавиши верхнего уровня - это сглаживание и глубина резкости, более тонкие и менее очевидные для наблюдателя - это изменения «лоу-фай» интеллекта врагов, если у нас их много на экране. Например. В некоторых из первых игр, над которыми я работал, у нас не было времени обновлять «взгляд на мир» каждого, поэтому мы обходили врагов по кругу, а также чередовали персонажей игрока с врагами. Таким образом, если присутствовало пять врагов, для обновления каждого потребовалось бы десять кадров (поскольку игрок обновлялся каждый второй кадр). Это не сделало анимации прерывистыми или что-то в этом роде, поскольку мы по-прежнему запускали правильные анимации, но решения врагов, возможно, будут основаны на старых или иным образом недействительных данных.

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

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

0
ответ дан 6 December 2019 в 08:14
поделиться

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

Чтобы игра была действительно в реальном времени, это не может быть просто игра. Он должен взять на себя управление оборудованием, ОС, доступными ресурсами и определить условия, при которых эти гарантии действительны. Я не думаю, что есть игры, которые доходят до такого уровня.

Хотя я частично согласен с определением мягкого реального времени. Не думайте, что какие-либо игры публикуют какие-либо соглашения об уровне обслуживания по производительности, но в большинстве случаев стараются быть в режиме реального времени - это в их интересах. Тем не менее, не считая определений, большинство игровых консолей - XBox, PS [x], Wii и т. Д. Хорошо оптимизированы для работы в реальном времени и обеспечивают это. Может быть очень мало случаев, когда производительность падает, например, когда температура в помещении приближается к точке кипения, но это применимо к большинству так называемых систем реального времени. Для их оптимальной работы в режиме реального времени должен быть соблюден определенный набор условий, иначе работа ухудшится.

0
ответ дан 6 December 2019 в 08:14
поделиться

Я бы назвал игры системами жесткого реального времени. Возьмите стрелка - если вы не выстрелите во врага до того, как он выстрелит в вас, возможность стрелять в него бесполезна, и вы проиграете. Аналогичные аналогии можно провести и для многих других типов игр. Так можно описать любую игру, в которую игрок играет в режиме реального времени.

Возможно, их реализация не является сложной в реальном времени, но играть в них точно так же.

0
ответ дан 6 December 2019 в 08:14
поделиться

Да, но с большим упором на soft в реальном времени.

Быть в реальном времени - это не значит быть быстрым - просто получение результата «достаточно быстро» является частью определения правильности этого результата.

5
ответ дан 6 December 2019 в 08:14
поделиться

«Реальное время» - это нечеткая категория. Точнее говорить о системах реального времени по шкале «жесткости». Характеристики, которые усложняют систему реального времени:

  • Ограниченная задержка (крайние сроки)
  • Ограниченный джиттер (т. Е.вариации во времени ответа)
  • Последствия несоблюдения сроков и способность системы «работать без сбоев», если сроки не соблюдены или система полностью выйдет из строя.
  • Несоблюдение сроков. Системы реального времени обычно должны отвечать менее чем за секунду, а в большинстве случаев - в пределах 100 мс.

Следовательно, хотя с технической точки зрения шахматная игра соответствует определению «реального времени», на практике она настолько мягкая, что этот термин на самом деле неприменим. Другой крайностью может служить бортовое радиоэлектронное оборудование "летать по проводам" в истребителе, где несоблюдение требований по времени может привести к падению самолета.

0
ответ дан 6 December 2019 в 08:14
поделиться

Вы могли бы называть их так, но я думаю, что это будет расширять определение «реального времени». Как понимается в отрасли, «в реальном времени» обычно подразумевает, что события будут обслуживаться в течение максимального времени, причем это время обычно составляет миллисекунды, иногда даже микросекунды. Для сравнения: шахматная программа работает с ледяной скоростью (по крайней мере, в том, что касается взаимодействия). Ни одно из специальных ограничений программирования, необходимых для соответствия жестким ограничениям в реальном времени, не применимо к программированию "медленных" интерактивных игр, подобных этой.

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

1
ответ дан 6 December 2019 в 08:14
поделиться

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

Когда вы сидите и смотрите на полосу загрузки, система увязает из-за промахов в кэше и, как правило, ограничена вводом-выводом. И все находят это вполне приемлемым.

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

Ситуация становится еще хуже, когда вы думаете о многопользовательских играх. Особенно MMO, которые запускаются «в прошлом», чтобы замаскировать проблемы с задержками. Все, что это делает, - это маскировка того, насколько на самом деле игра не в реальном времени.

править: мое определение системы реального времени - это система, которая использует каждый цикл процессора для значимой работы. Если система запланирована, например, из-за привязки к вводу-выводу, на самом деле это не система реального времени.

0
ответ дан 6 December 2019 в 08:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: