Несколько причин, по которым происходит фрагментация кэша в компьютерных играх:
- Увеличение размеров объектов. 1 Если игровые сущности лежат в массиве друг за другом, то процессору будет проще работать с ними, они подгрузятся в кэш, и не придётся часто обращаться к оперативной памяти. 1 Однако при увеличении размера объекта увеличивается вероятность промаха в кэше, потому что всё меньше объектов помещаются в него. 1
- Конкуренция с соседними подсистемами за кэш. 1 В большом приложении структурам приходится конкурировать с соседними подсистемами за кэш, так как всё работает одновременно. 1
- Ассоциативность кэша. 1 Если две или более кэш-линии соревнуются за доступ к некоторой области памяти, это приводит к снижению производительности. 1 Например, когда новая загруженная линия выбивает из кэша уже присутствующую в нём, что растёт накладные расходы на операции с такими структурами. 1
Фрагментация кэша может приводить к задержкам в игре, когда, например, появляются большие здания или новые типы машин. 3