Swiftでファミコンエミュレータを書いた(3)
githubに上げた。
わかっている問題
- 音は出ない
- 遅い
- iOS実機で動作確認してない
- 対応している mapper は NROM だけ
遅い問題
Debug build だと 7 fpsくらいしか出ない。 (MacBook 2017, iOS Simulator)
Release build だと 40 fps くらい出るので optimize は非常によく効いている。 逆に言うと optimize に頼りすぎな書き方をしているかもしれない。
iOS 実機では試してないのでどのくらいの性能がでるのかわからない。 iOS 実機を持ってないので。
Instruments で見てみると PPU の rendering がほぼ 90% 以上、までは分かるのだけど どこがボトルネックなのかはよくわからない。 Instruments の見方がよくわからない。
音が出ない問題
APUを作ってないので。 たぶん iOS 実機を手に入れたらつくる、かもしれない。
ふりかえり
- CPU は nestest.nes をパスさせるのが大変だった。
- PPU は vblank と sprite 0 hit の実装が breakthrough だった