Почему для 86Box важна производительность одного ядра
86Box эмулирует старый ПК на уровне аппаратного обеспечения. Синхронизация процессора, поведение чипсета, ISA и PCI шины, графические чипсеты, звуковые устройства и контроллеры дисков — всё это имеет значение для правильной работы программ той эпохи. Это не гарантирует идентичную производительность с оригинальным железом, как показывают результаты Cinebench ниже. Честно говоря, проект восхищает, но достижение такой точности дорого обходится — почти вся нагрузка падает на один поток.
Практический результат прямолинеен: количество ядер здесь почти не имеет значения. Важна скорость одного ядра и способность поддерживать эту скорость без дросселирования. К счастью для Mac Mini, это именно то, где Apple Silicon наиболее сильна, и где M6 блистает.

Конфигурация тестовых машин
Все тесты 86Box используют одинаковую конфигурацию машин, образы дисков и эмулируемое оборудование. Набор для сравнения:
- Mac Mini M6 (12-ядерный процессор, 24 ГБ, тестовый образец)
- Mac Mini M4 (базовый 10-ядерный процессор, 16 ГБ)
Тестирование проводилось на слегка модифицированной сборке 86Box 6.0, выпущенной 31 мая 2026 года. Команда улучшила производительность эмуляции процессора на ARM-хостах и добавила JIT-перекомпилятор ARM64 для графики Voodoo. Второе изменение особенно актуально, поскольку машина Windows 98 использует эмулируемый Voodoo 3. Часть успеха определённо принадлежит программному обеспечению, быстрые ядра Apple Silicon, но 86Box тоже становится лучше в их использовании.
Я не измерял прирост по сравнению со старыми версиями 86Box — это обзор M6, а не эмулятора.
Почему 100% — единственно приемлемое число
86Box сообщает эффективную скорость эмуляции в процентах от целевой. 100% означает, что хост соответствует модели синхронизации эмулятора, всё остальное — настоящая проблема. Это не гарантирует, что бенчмарк выдаст ровно тот же результат, что на физическом ЦПУ той же частоты.
Стабильность здесь важнее среднего значения. Даже кратковременные провалы создают заметные артефакты, потому что звуковое оборудование питается в реальном времени, и голодные буферы слышны как короткие выпадения — раздражающие помехи. В общем, любая конфигурация 86Box, которая регулярно падает ниже 100%, будет некомфортной, а достаточная фора на системе для удобной эмуляции целевой скорости обеспечит намного более стабильный опыт.
В результате каждый хост становится потолком, а не оценкой. Для любой эмулируемой конфигурации существует максимальная частота ЦПУ, которую хост может поддерживать на плоских 100%. Поскольку почти вся работа падает на один поток, производительность одного потока существенно сдвигает этот потолок — именно поэтому M6 интересна в этом контексте.
Методика тестирования
Для поиска потолка собрана пользовательская сборка из того же коммита, что и выпуск 6.0 (build 9001), с расширенной таблицей частот на 50 МГц шагов до 800 МГц. Патч для таблицы частот Deschutes доступен, если хотите попробовать на помеченном выпуске. Добавлены записи 500–800 МГц с масштабированием памяти и кеша для сохранения примерно одинаковых задержек доступа, AT шина остаётся на 8.33 МГц. Код эмуляции не изменён. Обе машины использовали эту сборку для расширенных тестов.
Некоторые могут возразить, что Pentium II на таких частотах не соответствует эпохе. Я утверждаю, что это просто небольшой разгон!
Эмулируемая машина прочим прочим фиксирована для всех прогонов:
- материнская плата Slot 1 с Pentium II (Deschutes), частота изменяется в каждом прогоне
- 256 МБ памяти
- Voodoo 3 эмулируемый видеоадаптер с 16 МБ видеопамяти (2 потока)
- Windows 98 SE

Нагрузка намеренно немного сложная: Cinebench 2000 запускает CPU-тест, пока Winamp 2.76 проигрывает 16-битный PCM WAV на 44,100 Гц в фоне. Аудио служит якорем как потребитель эмулируемого оборудования в реальном времени, любое отставание сразу слышно.
Критерий прохождения субъективен, но строг. Если слышны выпадения или эмуляция упала ниже 100% когда-либо, прогон не прошёл.
Результаты
M4 Mac Mini держит 500 МГц, обе машины чрезвычайно стабильны во всех полных запусках Cinebench 2000 и 3DMark 2000 SE на этой скорости. На 550 МГц M4 начинает заикаться. Это небольшие прерывания в Cinebench, но более заметные в демо 3DMark, достаточные для отказа.
M6 проходит 550 МГц и 600 МГц — просто невероятно. На 600 МГц она держала плоские 100% через оба запуска Cinebench 2000 и демо 3DMark 2000 SE, последнее давало 7–8 минут непрерывного тестирования. Это делает максимальную рабочую частоту на 20% выше, чем у M4 в такой конфигурации.
Для интересующихся, вот результаты CB2000:
| Эмулируемая частота | Cinebench 2000 | M6 | M4 |
|---|---|---|---|
| 300 МГц | 4.62 CB | Pass | Pass |
| 350 МГц | 5.34 CB | Pass | Pass |
| 400 МГц | 6.16 CB | Pass | Pass |
| 450 МГц | 7.02 CB | Pass | Pass |
| 500 МГц | 7.73 CB | Pass | Pass |
| 550 МГц | 8.54 CB | Pass | Fail |
| 600 МГц | 9.28 CB | Pass | Fail |
| 650 МГц | 10.08 CB | Fail | Fail |
По одному запуску на частоту в пользовательской сборке 86Box 6.0. Прохождение требует плоских 100% скорости эмуляции без слышимых выпадений на всей длине прогона. Завершённый рендер недостаточен для прохождения — результат 10.08 CB на 650 МГц имел один-два слышимых подвыва. Если честно, я, возможно, слишком строг в этом прогоне, фоновая активность могла вызвать заикание. Но придерживаясь методики, 600 МГц — итоговый результат с небольшой фарой. Опция 800 МГц есть для расширения диапазона, но явно не скорость, которую может поддерживать ни одна из машин.
Интересный момент при сравнении с реальным оборудованием. Ветка форума Ars Technica со сбором результатов Cinebench 2000 включает следующие пользовательские данные:
| Реальное оборудование эпохи | Cinebench 2000 |
|---|---|
| Pentium II 300 МГц | 2.38 |
| Pentium II 450 МГц | 4.35 |
| Celeron 800 МГц | 7.52 |
| Celeron 533 МГц разогнанный до 760 МГц (95 x 8) | 8.03 |
| Pentium III Coppermine 800 МГц | 9.25 |
| Athlon Classic 600 МГц | 7.66 |
Эмулируемый Pentium II на 450 МГц выдал 7.02 CB — примерно на 61% выше, чем физический PII на 450 МГц. На 300 МГц разрыв ещё больше: 4.62 CB против 2.38 CB. Забавно, результат 9.28 CB на 600 МГц почти точно совпадает с 800 МГц Coppermine. Это отдельные посты из форума разных систем, фоновый контекст эпохи, а не управляемое сравнение, но расхождение существенное. Также стоит упомянуть, что версия этого бенчмарка очень старая, задолго до того, как он стал популярным.
Пока неясно почему. Возможно, пропускная способность памяти и синхронизация кеша в эмулируемой машине имеют отношение. Есть релевантная история в примечаниях выпуска 86Box v3.0, где объясняется, что эмуляция P6 была не полностью точна из-за сложности внеочередного выполнения и поведения L2 кеша. Синхронизация Deschutes была настроена, чтобы приблизиться к реальному железу. Но да, неясно.
Расхождение уже присутствует на 300 МГц и 450 МГц, ниже записей, добавленных моим патчем. Для этого обзора 600 МГц остаётся максимальной рабочей частотой в этой конфигурации 86Box, на 20% выше стабильной частоты M4. Результаты CB2000 полезны для показа того, как масштабируется эта конфигурация, но я не стану использовать их для утверждения эквивалентной производительности в программном обеспечении на реальном Pentium II или Pentium III.
Даже 500 МГц M4 замечателен рядом с демонстрацией разогнанного 9950X3D, которую я использовал для контекста. У меня нет аналогичного x86 запуска на этой пользовательской сборке, но базовый M4 уже был намного более способной ретро-машиной, чем первоначальное ограничение 450 МГц позволяло установить.
Видео ниже из более раннего 450 МГц запуска на M6, где OBS также композировал и кодировал 720p30 H.264. Оно документирует тот запуск, а не новый результат 600 МГц.
Что делает хост на самом деле
86Box паркует работу на двух «супер» ядрах, видимых как cpu6 и cpu7, остальной пакет в основном неактивен. На M6 эти два ядра усредняют примерно 4,483 МГц во время 450 МГц Cinebench 2000 и примерно 4,710 МГц во время 600 МГц запуска, пиком 4,788 МГц. Активность ядер растёт с эмулируемой частотой, примерно с 41% на каждом занятом ядре на 450 МГц до 45–49% на 600 МГц, ещё есть реальная фора на максимальной рабочей частоте. Использование всего пакета никогда не превышает 26%.
M4, запущенный в той же конфигурации, держит занятые ядра ближе к 3.7 ГГц, и этот разрыв, вероятно, большая часть причины, почему она останавливается на 500 МГц.
Где это оставляет Mac Mini
Для этого конкретного применения самый дешёвый новый настольный Mac — необычно хороший выбор. Базовый M4 уже даёт стабильный Pentium II на 500 МГц, M6 берёт это до 600 МГц, с нетронутым звуком и полным демо 3DMark на 100%. Это выдающийся результат от маленького бесшумного ящика стоимостью менее €1,600. Это яснейший случай, который я нашёл, где лидерство M6 в производительности одного ядра переводится в то, что можно действительно почувствовать, а не прочитать на графике.
Глядя на цифры бенчмарков и анекдотические свидетельства из соответствующих эпохе тестов, это помещает виртуальную систему в территорию Pentium III. Когда-нибудь попробую эмулировать XP в 86Box.