Search found 1385 matches

by Jubatian
Thu Oct 08, 2015 5:59 am
Forum: Uzebox Emulator
Topic: Smoother rendering of high res modes
Replies: 51
Views: 21939

Re: Smoother rendering of high res modes

There is also an inbetween approach for this problem, I had seen it somewhere used. So neither a line buffer, but neither full display. The minimal 32 bit buffer (1440x224) necessary for the thing is 1,2 megs, that's pretty large to be expected sitting in the cache well, maybe except with the most c...
by Jubatian
Wed Oct 07, 2015 7:47 pm
Forum: Uzebox Emulator
Topic: Smoother rendering of high res modes
Replies: 51
Views: 21939

Re: Smoother rendering of high res modes

On the software side the larger your buffer is, the worse will be the performance due to cache misses. If you want to get 60FPS at 1440x224, that means 19 megapixels throughput, at 32 bits you can imagine that it won't likely work too well, especially if you traverse it even twice (once to fill it u...
by Jubatian
Wed Oct 07, 2015 7:21 pm
Forum: Uzebox Emulator
Topic: Get that emu faster
Replies: 90
Views: 26399

Re: Get that emu faster

Huh, I am tired, anyway, the pull request is up! I couldn't get any notable performance improvement now, just maybe a little bit, although it might vary. Changing the type of a few important variables to native int might help Emscripten, at least as far as I understand JavaScript and asm-js. The lin...
by Jubatian
Wed Oct 07, 2015 6:29 am
Forum: Uzebox Emulator
Topic: Smoother rendering of high res modes
Replies: 51
Views: 21939

Re: Smoother rendering of high res modes

Do you really see a benefit of expanding that buffer to 1820 bytes? That part gains on performance since it eliminates conditional checks from the update_hardware function, the main path of the emulator (which executes like 20 million times a second to get 28MHz). Of course only if it is a line buf...
by Jubatian
Wed Oct 07, 2015 6:14 am
Forum: Uzebox Emulator
Topic: Get that emu faster
Replies: 90
Views: 26399

Re: Get that emu faster

For now you can send cancel the previous pull request and just send me a pull for your latest and greatest code. OK, but then lets wait a bit for it to settle. This evening after work I will see the remaining little bits, types, and whether I can still move anything aside on the main path so it run...
by Jubatian
Tue Oct 06, 2015 8:14 pm
Forum: Uzebox Emulator
Topic: Get that emu faster
Replies: 90
Views: 26399

Re: Get that emu faster

I think I now covered all what was algorithmically possible around the instruction decoding and AVR's innards. There doesn't seem any more component around which would contribute much to the CPU load of the emulator in this region, and what is (still) there is necessary, irreplacable. The only regio...
by Jubatian
Tue Oct 06, 2015 4:08 pm
Forum: Uzebox Emulator
Topic: Smoother rendering of high res modes
Replies: 51
Views: 21939

Smoother rendering of high res modes

I was a bit annoyed by the performance of the emulator when it came to how it renders high resolution modes (such as 3 cycles per pixel, code tiles). So I did something about it (on top of my speed hacks, but on different branch): https://github.com/Jubatian/uzebox/tree/uzem140-linebuffer Capturing ...
by Jubatian
Tue Oct 06, 2015 10:50 am
Forum: Uzebox Emulator
Topic: Get that emu faster
Replies: 90
Views: 26399

Re: Get that emu faster

Then you can repackage them again since Arkanoid now flies at 50MHz on my box! I implemented what was also mentioned by CunningFellow for Timer 1, and it bumped up performance a lot for that game, guess will do so for most of the rest as well. Hopefully I didn't introduce any nasties with it, I was ...
by Jubatian
Tue Oct 06, 2015 8:42 am
Forum: Uzebox Emulator
Topic: Get that emu faster
Replies: 90
Views: 26399

Re: Get that emu faster

I hacked around pixel output a bit, experiencing a notable improvement with Arkanoid which I tested with: 36MHz to 42MHz. https://github.com/Jubatian/uzebox/tree/uzem140-hacks-01 I opened a new branch for it, so what was prepared for pull stays present, so bugs can be fixed there without forcing fur...
by Jubatian
Tue Oct 06, 2015 7:34 am
Forum: Uzebox Emulator
Topic: Get that emu faster
Replies: 90
Views: 26399

Re: Get that emu faster

What you may have seen as imperfections are most probably the hack required to cover some edges cases I'm afraid. What I meant here I mostly that there was one LD type instruction which set cycles after the call to read_sram_ld, the CBI instruction set its cycles after the write_io while the SBI be...