Однією з поширених причин є те, що не завжди однаково легко визначити, чи буде потрібен ресурс найближчим часом.
Оскільки ви використовували пейджинг на місцевості як приклад, я продовжу з цим.
Це цілком розумно, якщо ви знаходитесь в заданій сітці карти, щоб завантажити усі сусідні сітки карт у фоновому режимі. Ви знаєте, що користувач може, в кращому випадку, ввести один із них. Після цього ви можете вивантажити ті, які вже не примикають, і завантажити ті, які є зараз. Це ви відзначили.
А тепер уявіть швидку подорож. Немає жодного способу передбачити, куди користувач може вибрати. Вони мають (як правило) майже всю карту на вибір. Попереднє завантаження всіх можливих місць швидкого подорожі зайняло б занадто багато пам’яті (ви можете спочатку завантажити всю карту в пам’ять) і занадто багато часу (якщо припустити, що не було завантажено всю карту). Коли це станеться? Коли вони відкривають діалог швидкого подорожі? Проблема стала б лише в кілька разів гіршою!
Ось чому навіть у більшості ігор, які виконують пейджинги на місцевості без навантаження, все ще є екрани завантаження для швидкого пересування. Крім того, якщо ви рухаєтесь досить швидко, ви можете іноді запускати екрани завантаження навіть у іграх із картами без навантаження (я пам'ятаю, що це робив у TES Oblivion).
Тепер уявіть, що це стосується ігрових ресурсів загалом, де відносини часто не очевидні. Вам нарешті доведеться або завантажити всі можливі варіанти, або почати здогадуватися, що робитиме користувач. Гадати дорого (як в розробці, так і в процесорі) і складний безлад для програмування. Конкретні приклади:
- Збереження файлів: вам потрібно буде завантажити кожен файл збереження до того, як користувач вийде на екран збереження, або здогадайтеся, який файл він може завантажити (останні 5 тощо).
- Інтерфейс користувача: Багато стратегічних ігор змінюють свій інтерфейс користувача залежно від вашої фракції. Вам потрібно буде завантажити всі можливі розробки інтерфейсу користувача, перш ніж користувач розпочне свою гру.
- Ігровий світ: у процедурно створених іграх, таких як Minecraft або RTS-ігри, такі як Civilization, світ не існує до перегляду, з різними масштабами. Попереднє завантаження цього неможливо, оскільки вони не існували для початку; попередній їх обчислення в кращому випадку можна зробити аналогічно попередньому завантаженню, і це не застосовується у випадку RTS.
Деякі з цих питань можуть бути вирішені, але це потрібно для реальних грошей . Більшість геймерів приймають розумні екрани для завантаження і, якщо що завгодно, як правило, готові витратити більше на обладнання, щоб пом'якшити їх. Це розглядається як апаратне питання, а не ігрове питання, якщо не надзвичайно надмірне чи іншим чином руйнівним (наприклад, завантаження в середині рівнів).
І майте на увазі, завантаження фону не безкоштовне. Зазвичай сучасний використання місцевості для фонового завантаження та деяких модельних файлів має мінімальний вплив, але якщо ви раптом здогадуєтесь про багато різних ресурсів, особливо якщо у вас немає надійних показників і вам доведеться вивантажувати багато ресурсів і завантажувати зайві , можна подрібнити систему в пил.
Ідея фонового завантаження полягає у використанні мертвих циклів для кращого використання, але є лише стільки мертвих циклів. Те ж саме стосується і пам'яті - попереднє завантаження може істотно збільшити використання пам'яті гри. За допомогою екрана завантаження ви зможете скинути наявні ресурси. Немає такої розкоші з фоновим завантаженням, це означає, що це могло б подвоїти потребу в пам’яті гри лише на цьому рахунку.