Абстракция - это обоюдоострый меч, он облегчает разработку, но может снизить производительность.Однако многие современные игры связаны с GPU из-за красивой графики.Если вы думаете, что это правда, то, что вы делаете на ЦП, имеет меньшие последствия, так как вы все равно будете ждать на GPU для рендеринга кадра.Однако большинство сольных проектов не доходят до симпатичной графики на достаточно высоком уровне, чтобы это было правдой, поэтому вам, вероятно, все равно нужно быть осторожным.
Это не значит, что вы не можете по крайней мереидти на полпути.Фактически, большинство игр теперь выполняется в псевдо-стиле MVC, в частности, используется цикл Update / Draw, а не тривиальный цикл.По сути, у вас весь код игры отличается от кода для рисования.Ваш игровой код обновляет состояние игры, затем код ничьей отображает его.
Это особенно хорошо, если вы запускаете свой собственный физический (или другой основанный на кадрах) движок, поскольку он позволяет вам разделять FPS.из ваших циклов обновления.Например, вы можете кодировать игровой движок, чтобы он работал со скоростью 60 FPS, и просто обновлять несколько раз между вызовами отрисовки, если вам нужно.
Подводя итог, вы всегда должны разделять свой код обновления и отрисовки в игре, этопростой шаг с минимальными накладными расходами, обеспечивающий значительную часть простоты MVC без затрат, часто связанных с полными структурами MVC.