- Joined
- Oct 29, 2013
- Messages
- 1,455
- Trophies
- 0
- Location
- Brazil, Sao Paulo
- Website
- www.gamemod.com.br
- XP
- 1,539
- Country
-
The current method for making this list (that gets sent to the GPU to render the tiles) is to figure out where the tiles start (like what tile occupies the top-left corner), and then from left to right, top to bottom, figure out what tiles are there and send those to the GPU. This is done each and every frame (in the simplest form). What it does when it examines each tile is it looks up the background layer information, which is already a linear sequence of tile references. The thing is, not every single tile changes each frame, so the data needed from one frame to another may not change, at least for the entire layer. The idea is to have this list already premade, and directly change this list as tiles on the layer are changed, so rather than examine each tile per frame, it'll simply take the existing list and send that off. It may put more pressure on the GPU (because you may be sending off lists that have a large portion not on-screen), but from what I understand, there's a lot left unused by it, and that most of the stress is on the CPU (having to examine each tile among other things like actual emulation).
Sorry if that still doesn't explain it.
Loading Kirby's Dream Land 3 (USA).sfc..
ROM type: headerless LoROM
ROM size: 4096KB / 128 banks
SRAM size: 32KB
ROM loaded, running...
Will roms with enhancement chips ever work ?
I'm not sure pre-built display lists would give much of an improvement. We'd end up drawing a lot of shit offscreen (and it turns out that we're already taking a lot of GPU time per frame because there's a yet undetermined cause that makes homebrew get subpar GPU performance). The code would get more complex. Also, tilemaps aren't always static-- a prime example would be the level layer in SMW. The game updates the tilemap as you move forward or backward.StapleButter, would it be possible to have a pre-made display list regarding background layers that changes when writes are made to the lower 32KB section of VRAM, and then take from this list when forming the true list instead of having to examine each tile within view of the screen manually per frame? I've been thinking about this kind of thing for a bit for improving list generation, but only speculation, no actual proof. And something like this would only work with Modes 0, 1, 3, and 5 (because the others either use offset-per-tile or affine transformations).
I'm losing motivation. Should work on something else for a while.
I'm losing motivation. Should work on something else for a while.
I'm not sure pre-built display lists would give much of an improvement. We'd end up drawing a lot of shit offscreen (and it turns out that we're already taking a lot of GPU time per frame because there's a yet undetermined cause that makes homebrew get subpar GPU performance). The code would get more complex. Also, tilemaps aren't always static-- a prime example would be the level layer in SMW. The game updates the tilemap as you move forward or backward.
Something we really need is 1. figuring out what's wrong with GPU performance (it should be more performant) and 2. find out how to use the bumpmapping crapo to simulate color palettes. Both things on which I'm getting nowhere.
I'm losing motivation. Should work on something else for a while.
It doesn't mean the project is dead. I just need to go do something else.
And then there's the typical 'too many projects' syndrome. Blarg.
Oh and in the meantime that doesn't keep DiscostewSM from doing changes. I will still be accepting pull requests and all.
Still would be nice to have something that didn't require an expensively priced little cartridge.
I'm losing motivation. Should work on something else for a while.
Update ctrulib from git and recompile.Hi, first of all i would like to thank StapleButter and DiscostewSM for the BlargSnes existence, than i would like to ask about a compilation problem that exist with the actual ctrulib on my Win DevkitPro Environment.
![]()
Have you any idea how to fix this?
Any help is appreciated!

