Да, читается вместе с инструкцией, но читать приходится больше байт (6), чем если бы использовался XOR (всего 2 байта), в этом и заключается медлительность.
И этот 0 жрёт кеш-память.
Может, так как этот 0 ещё и прочесть надо, прежде чем попытаться оптимизировать, а регистры (в случае xor/sub) задаются прямо в том же слове, что и опкод.
MOBA — это multiplayer, т. к. там 5 на 5 и короткие и самостоятельные сеансы-раунды длиной в полчаса-час.
Главное отличие, по-моему, в том, что в multiplayer есть явные цели (миссия, количество убийств, лимит времени), при достижении которых игра завершается/перезапускается для всех игроков на сервере. Online же бесконечен, до тех пор, пока компания-администратор сама не захочет прекратить игру.
Ну почему же с полностью независимыми серверами? На серверах статистики хранить прогресс, как Call of Duty или Battlefield. Количество игроков = (количество игроков на всех серверах — количество ботов на них).
В Dalvik (JVM на Android) есть, можно посмотреть, как там (но там регистры не машинные, а наподобие локальных переменных в C/C++, возможно, реализация использует стек, то есть вычитание из esp).
Не мог.
Во-первых, xchg mem, mem не существует.
Во-вторых, xchg блокирует потоки.
Я говорю про то, что на стеке, который медленнее регистров, временной переменной не создаётся, используется регистр, а значит, лучше использовать временную переменную, а не XOR.
Но так как offline multiplayer — это мало игроков на одном сервере, вынужден буду подправить определение.
Я имею в виду, что в online-играх игра проходит на крупных серверах, которыми владеют разработчики игры.
Серверов multiplayer-игр может вполне быть и немного, и могут они быть исключительно официальными, но их много относительно количества игроков, настроены они на игру по раундам, и игроки не привязаны к конкретным серверам.
Но вообще, слово «сервер» не очень корректно употреблять в данном контексте. Игры могут быть и P2P, без единого связующего звена (Doom, например). В таком случае правильнее было бы сказать «территория».
Но при этом offline multiplayer и online multiplayer — понятия, связанные с данными определениями только словом «multiplayer». Offline multiplayer — это multiplayer с несколькими контроллерами или по LAN, а online multiplayer — через интернет.
Под словом «онлайн», как правило, имеют в виду MMO.
Offline — один игрок на одном сервере.
Multiplayer — мало игроков (до 64, хотя может быть и больше) на большом количестве серверов.
Online — много игроков на малом количестве серверов.
Ещё отличие multiplayer от online в том, что в мультиплеере после одного или нескольких недолгих раундов состояние сервера сбрасывается и всё начинается сначала, а в онлайне игра, как жизнь на Земле, продолжается один длительный период времени.
Короче говоря, мультиплеер можно сравнить со игрой на стадионе (ну или, если локация линейная, то с игрой по ориентированию), а онлайн — с жизнью на планете.
… если обращается к памяти. Если использовать с регистрами, получится тот же самый дополнительный регистр, только обратно в память в другом порядке данные заноситься будут, как если бы XCHG не было.
А вообще, не совместно с инструкцией. Сначала инструкция декодируется, потом так как r/m является imm, читается этот самый 0.
И этот 0 жрёт кеш-память.
Главное отличие, по-моему, в том, что в multiplayer есть явные цели (миссия, количество убийств, лимит времени), при достижении которых игра завершается/перезапускается для всех игроков на сервере. Online же бесконечен, до тех пор, пока компания-администратор сама не захочет прекратить игру.
Во-первых, xchg mem, mem не существует.
Во-вторых, xchg блокирует потоки.
Я говорю про то, что на стеке, который медленнее регистров, временной переменной не создаётся, используется регистр, а значит, лучше использовать временную переменную, а не XOR.
Тогда не -(x < y), а -((int)(x < y)).
Я имею в виду, что в online-играх игра проходит на крупных серверах, которыми владеют разработчики игры.
Серверов multiplayer-игр может вполне быть и немного, и могут они быть исключительно официальными, но их много относительно количества игроков, настроены они на игру по раундам, и игроки не привязаны к конкретным серверам.
Но вообще, слово «сервер» не очень корректно употреблять в данном контексте. Игры могут быть и P2P, без единого связующего звена (Doom, например). В таком случае правильнее было бы сказать «территория».
Offline — один игрок на одном сервере.
Multiplayer — мало игроков (до 64, хотя может быть и больше) на большом количестве серверов.
Online — много игроков на малом количестве серверов.
Ещё отличие multiplayer от online в том, что в мультиплеере после одного или нескольких недолгих раундов состояние сервера сбрасывается и всё начинается сначала, а в онлайне игра, как жизнь на Земле, продолжается один длительный период времени.
Короче говоря, мультиплеер можно сравнить со игрой на стадионе (ну или, если локация линейная, то с игрой по ориентированию), а онлайн — с жизнью на планете.