Які найкращі ресурси в розробці та розробці ігор та багатогранних движок? Оскільки це, очевидно, куди йдуть комп'ютери, я маю намір вивчити цю тему, і я хотів би знати, які ресурси та приклади є там.
Які найкращі ресурси в розробці та розробці ігор та багатогранних движок? Оскільки це, очевидно, куди йдуть комп'ютери, я маю намір вивчити цю тему, і я хотів би знати, які ресурси та приклади є там.
Відповіді:
Серія Don't Dread Threads від Intel є досить хорошою. Він має 3 частини, основи висвітлюються в першій 1,5 з них.
Підсумок того, що було висвітлено у першій 1,5:
Перш за все, вони відлякують використання функціональної декомпозиції. Функціональне розкладання - це просто "покласти AI на один потік, покласти аудіо на інший потік, покласти графіку на 3-й потік"
Так виглядає такий вигляд
Так що це погано ™. Замість цього ви хочете використовувати Data Decomposition .
Розкладання даних означає, що ви вирізаєте кожну річ у своїй грі на невеликі досяжні завдання. Ви породжуєте x-теми, скажімо, 4, а потім для кожної з цих 4-х потоків вони постійно захоплюють завдання з купи завдань і працюють над нею, поки вони не завершаться.
Це схоже на купу людей, які їдять піцу. Всі беруть шматочок, поки піца не закінчена.
Звичайно, зараз я голодний.
Короткий огляд багатопотокових підходів до двигуна. Гамасутра на допомогу.
Ось допис у блозі, який дає практичний приклад управління завданнями . Це передбачає деякі знання про паралельну конструкцію двигуна з вашого боку, але ви все ще можете вважати це корисним як "розширене читання".
Я думаю, ви повинні розглянути підхід, орієнтований на завдання чи роботу.
У Game Engine Gems є 2 або 3 статті на цю тему.
Було проведено пару презентацій на цю тему на різних конференціях тощо.
Наприклад, "Паралельні майбутнє ігрового двигуна" Йохана Андерссона
Також погляньте на Сейф GDC: у вільному розділі є ряд презентацій та повних відео з цього приводу. http://www.gdcvault.com/
пс. Неможливо розмістити більше прямих посилань через те, що це новий користувач. дс.
У книжковій архітектурі Game Engine також є деяка інформація про те, як розробити ігровий движок з підтримкою декількох ниток.