Кхем. Отвечу.
Коротко: а фиг вам, нету короткого ответа, WoW долбится в 1 ядро по серверным (онлайн) причинам и ситуация усугбляется уже текущими горе-разработчиками, а многопоток оптимизировали в БфА для уже совсем уж многоядерных процов (руйзены и прочее), но недавних времен все еще 1 основное разогнанное ядро влияет на процесс игры лучше, чем 64 ядра хламузенов. А 3дкеш это костыль связанный с памятью.
Более детально ...
Начнем с базы которую мало кто понимает и даже здесь чет несут околесицу. На процессе установлено ядро, это физический исполнительный "инструмент" на котором полноценно выполняется полностью вся задача которую ему назначил компуктер. Поток - это виртуальное разбивание ядра на два логических ядра, то есть условно "4 ядра, 8 потоков" = это 4 физических ядра которые разделены на двое, т.е. 8 потоков которые выполняют параллельно. Но это не увеличивает быстродействие компьютера в 2 раза, у вас так же остаются 4 ядра, просто они нагружаются разными уровнями задач равномерно, в чистой теории. На практике мы имеем такую вещь что очередное АААА-хлам долбится в одно ядро (2 потока) на 99%, а остальные 2-3-7-11-31 ядро простаивает или нагрузка минимальна, об этом позже.
Поток - задача(и), ядро - исполнитель.
Теперь про сам WoW. Игра - полностью сервернозависимая игра на которой в реалтайм происходит обработка данных (в пакетах) и получение их. То есть игра отправляет на сервер пакет, сервер сканирует (от других участниках в мире, действие итд), отправляет на клиент игрока, клиент расставляет полученные данные, выводит изображение, клиент получает новые команды от клиента и/или получает новый пакет итд. И все эти основные вычисления (отправка/получение) выполняет одно ядро и/или один поток. Он является основным, по этому нагружен на максимум, по этому он узкое горлышко ибо всё что происходит у игрока проходит через одно ядро. От чего ошибочно думается что игра однопотоковая до сих пор. Это не так, по скольку после получения информации игра распаралелливают полученную информацию на другие ядра, но они не в "реалтайме" обменивают информацию, например загрузка мобов, карты, текстур, звуков, эффектов итд.
Чтобы избежать бутылочного горлышка, необходимо чтоб одно ядро было максимально быстрым, по этому интел был впереди планеты в рамках WoW. Плюс к этому - количество разных процессов в игре было условно ограничено, по этому с увеличением ядре, нагрузка не распределялась должным образом и в некоторых ситуациях не было нагружена. По этому в BfA игру слегка подлопатили чтоб она начала использовать не ограниченное количество ядер/потоков, а максимальное доступное.
И дальше следует новая проблема, быстродействие. Как мы поняли, игра использует 1 ядро для выполнение задач связанные с сервером, она постоянно нагружено обновлением данных и эти данные пишутся во временное хранилище, сначала кеш процессора (L1-L2-L3), потом вызывается информация в ОЗУ и выводится на компуктере. Как уже сказано, если поставить 3D-cache (Ryzen 5800x3D), то быстродействие вырастит по скольку количество необходимого времени на связку Ядро > ЦП > Мост > Озу и обратно падает, сразу идет запись информации в кеше процесса, он увеличен > быстродействие компуктера > выше фпс. Но это палка в никуда.
Чего нужно? Переделывать в первую очередь серверную логику клиента на обработку данных. По скольку у нас 1 ядро выделено под общие задачи, то либо разделить уже на 4 ядра разные компоновку вопроса, например
Ядро 1 - принятие/отправка данных.
Ядро 2 - запись действий игрока.
Ядро 3 - принятие серверных действий.
Ядро 4 - асимметричные задачи (текстуры, звук, прочее).
Но этого не будет по очень печальной причине - кривожопые мудаки на псевдоразрабах. Пример выше требует синхронизации различных систем. Но эти синхронизации сейчас гробятся под простым "а давайте хреначить друг на друга системы которые проверяют друг на друга в виде аур, чтоб насиловать данные как клиента, так и игрока". О чем речь.
В ШЛ добавили Соулбайнды и Ковенанты которые, по какой то неизвестной причине, были реализованы в виде аур на игрока. Зачем? Никто не знает. Результат - при любой потери соединения клиента/сервера при перезаходе игрок терял "соулбайнд" и он попросту переставал работать в ключах, иногда рейдах или пвп. И если в ключах была проверка закрепленная спека, то тут ...
Хуже всего - это добавление в том же бфа (ранее) кучу прокового на азеритках итд. То есть у игрока появлялись куча внешних проверочных элементов которые были не родные клиенту игрока, а промежуточные (как тринкеты), по этому каждый раз перед проком клиент-сервер проверяли "а нужно сейчас прокать, а давай не сейчас прокать", при этом были же Легионские Артефакты и не было на столько плохо.
Но ближе к текущей ситуации - ДФ. Какой урок мы вынесли из БфА+ШЛ? Правильно, добавляем все таланты игрока теперь как пермоауры (сейчас она как то по другому прописано), добавляем еще больше проковых вещей которые постоянно проверяются игроком и сервером, нагружаем дополнительно ЦП новой постоянной информацией. Но этого мало, сделаем еще чтоб вывод информации через сам клиент был наглухо сломан, да, я про UI и про API самого клиента. Испортим много функций, не предупредим, не будем фиксить уже 3-й год миллиард багов и только множить их. Почему? Ну просто.
И теперь TWW, эпическое творение. Что нужно сделать, чтоб избавить игроков от лагов? Правильно, унифицируем внутренние API и добавляем в ретейл универсальный классик-клиент. Это вроде не должно никак влияеть на производительность? Ну не должно, по этому ... для полноценного ответа необходимо заниматься реверсом всех функций и сравнивать полученную/отправленную информацию в разные этапы игры. Я этим не занимался, примерно понимаю как делать, но смысла в этом не вижу. На форумах и без меня пишут погромисты аддонов чтоб пофиксили те или иные дыры в ux/ui/api/lua, но форумы остаются без ответа месяцами, если уже не годами. Что то фиксят, да, но очень произвольно. Наверное ждут когда минимальный фпс без аддонов будет хотя бы 10-ку.