2015-12-10 2 views
0

Я работаю над игрой, в одном классе у меня на данный момент 4 флага (я использую логическое), но я бы хотел переключиться на int и сделать каждый флаг немного. Некоторые мои флаги проверяются внутри основного цикла каждый раз, так что смотрим в будущее (где у меня может быть больше флагов): мой флагшток замедлит мою программу? Лучше ли продолжать использовать boolean?Доступ к булевой переменной быстрее, чем доступ к флагам int?

+6

У вас есть основания полагать, что производительность вашей игры будет зависеть от того, как реализован * битфлаг *? Напишите свой код * чисто * сначала, затем профиль, и только оптимизируйте * после * своего профиля. –

+5

Это классический случай преждевременной оптимизации. Побитовые операторы и логическая проверка настолько безумно быстры, что не имеют значения, если вы не делаете сотни миллионов из них в секунду. В этот момент ... почти * что-нибудь еще, что вы делаете, будет стоить больше времени. – Draco18s

+0

@NicolBolas В одном методе мне нужно сравнить логическое, а в другом я должен получить значение флага и сравнить его. Я пытаюсь написать максимально эффективный код. Downvoters PLS объяснить ... – Xriuk

ответ

2

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

Итак, если вы собираетесь использовать что-то один или два раза в секунду или когда пользователь вручную что-то делает, ответ скорее всего будет «не беспокоить». С другой стороны, если оптимизация выполняется в том, что работает непрерывно тысячу раз в секунду, тогда ответ «возможно». Позднее зависит от того, сколько часов работает. Случай с флагом, проверяющим ответ, скорее всего, нет, поскольку тактика часов либо ничтожно мала. Лучшая оптимизация может заключаться в том, почему вы вызываете эту функцию, рутину и т. Д. ... так много раз, чтобы начать.

1

Звучит так, как будто вы довольно новичок. Итак, вот что я вам посоветую: программируйте свою игру и думайте об оптимизации только тогда, когда заметите что-то вроде отставания. В противном случае это не так важно. Сосредоточьтесь на других вещах, таких как читаемость и повторное использование кода.

Смежные вопросы