Я программировал эмулятор как побочный проект и сейчас нахожусь в точке, где я занимаюсь эффективностью. Мне удалось избавиться от всех медленных вещей, которые я делал, таких как множество SDL_RenderDrawPoint, но теперь я застрял.
Мне удалось сузить его до SDL_PollEvent. Я упростил мой основной цикл и цикл обработки событий, чтобы они выглядели как простое руководство по SDL. Когда я комментирую цикл обработки событий, эмулятор работает очень быстро. Я также использовал профилировщик производительности Visual Studio для проверки, и, конечно же, SDL_PollEvent занимает ~ 94% времени процессора.
Местогде мой эмулятор делает все свое, находится в ppuNptr->cycle()
, который занимает всего 1,48%.
К сожалению, я не могу повторить это в другом проекте, поэтому я в растерянности.
Есть ли что-то, что я должен сделать перед опросом событий?
Как еще можно отладить это?
В настоящее время я нахожусь на Windows 10 с Visual Studio 2019 и SDL 2.0.10.