offscreen drawing

Anything DreamSNES-related can be asked in this forum, such as general questions about the emulator, how to burn it, etc.
Post Reply
Krizzzopolis
DCEmu Cool Newbie
DCEmu Cool Newbie
Posts: 14
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Thu Feb 07, 2002 2:56 am
Has thanked: 0
Been thanked: 0

offscreen drawing

Post by Krizzzopolis »

does DreamSNES do any offscreen drawing?

for example, Chrono Trigger:
large areas, like the shop-area or the bell-area, speed is apx 80%
small areas, like Gato (which still scrolls but very little vertically) or the haunted "tent" (which does not scroll) the speed goes over 100%

would limiting the offscreen drawing fix this? or is it just the fact that these "pics" (the bell area, for example, being a "pic") are "loaded" in memory, and stuff? or is because the only sprites at gato is gato and crono, haunted 'tent': crono and odd guy? (i forgot his name)

thanx.
User avatar
JellyWarrior
General Jelly
General Jelly
Posts: 1203
Joined: Mon Mar 11, 2002 1:17 am
Location: Sydney, Australia
Has thanked: 0
Been thanked: 0
Contact:

Post by JellyWarrior »

I dotn think that it'd make any diffenerce. DreamSNES emulates a SNES and so it tries to copy what a real SNES would do.

So if the game tells the SNES to draw off screen, then putting in a command in to the actual emulator that stops that from happening would slow it down even more.

I think I might stop here because im starting to make no sense :roll:
Skype: distinctive
I am involved in : Mytalk | Comet TV | Distinctive Web Services
Krizzzopolis
DCEmu Cool Newbie
DCEmu Cool Newbie
Posts: 14
Joined: Thu Feb 07, 2002 2:56 am
Has thanked: 0
Been thanked: 0

Post by Krizzzopolis »

so you're saying if it has to process less graphics that are off screen and we don't see, it would slow things down? sorry.

in epsxe (a psx emu) pete's direct x plugin, turning offscreen drawing on (to the max) slow things down.

it was just a thought. like my 11hz mono though :) (i'm comfortable with 8-bit sound as well!)
User avatar
SinisterTengu
DC Developer
DC Developer
Posts: 382
Joined: Wed Oct 17, 2001 7:44 pm
Location: Arlington, WA
Has thanked: 0
Been thanked: 0

Post by SinisterTengu »

Hmm, well you would probably have to email the authors of DreamSNES. I don't think they have ever mentioned anything about it. It would be interesting to find out...
Image
Image
User avatar
butters
Classic Games Lover
Classic Games Lover
Posts: 5088
Joined: Fri Feb 08, 2002 6:50 pm
Location: Lubbock, Texas, United States, Sol 3, Milky Way Galaxy
Has thanked: 0
Been thanked: 0

Post by butters »

First off, I know nothing about how the Dreamcast operates, but I don't see how drawing off screen could effect performance. Afaik, video is stored in video ram anyways, and I believe it probably speeds it up when it is getting called from video ram to display instead of from sytem ram to video.
User avatar
SinisterTengu
DC Developer
DC Developer
Posts: 382
Joined: Wed Oct 17, 2001 7:44 pm
Location: Arlington, WA
Has thanked: 0
Been thanked: 0

Post by SinisterTengu »

Offscreen drawing would effect performance. It means that it is bothering to render and draw things, when it doesn't need to(because you can't see it). I don't know how much it would speed anything up, because there is usually little to none offscreen drawing...
Image
Image
Krizzzopolis
DCEmu Cool Newbie
DCEmu Cool Newbie
Posts: 14
Joined: Thu Feb 07, 2002 2:56 am
Has thanked: 0
Been thanked: 0

Post by Krizzzopolis »

would it be possible for DreamSNES to only process the area currently displayed? or would this not be possible?

because small areas in Chrono Trigger runs fast, large areas run slow (like i said about the fair with gato etc)

or am i wrong and mistaken about the whole thing?
Ex-Cyber
DCEmu User with No Life
DCEmu User with No Life
Posts: 3641
Joined: Sat Feb 16, 2002 1:55 pm
Has thanked: 0
Been thanked: 0

Post by Ex-Cyber »

Comparisons to PSX emus are kind of pointless. The SNES graphics model is completely different as it has no frame buffer and generates the display with tile lookups + scroll offsets. There's no clear separation between "on-screen" and "off-screen" drawing in a system like this because the "screen" is not actually stored anywhere, unlike PSX.
User avatar
JellyWarrior
General Jelly
General Jelly
Posts: 1203
Joined: Mon Mar 11, 2002 1:17 am
Location: Sydney, Australia
Has thanked: 0
Been thanked: 0
Contact:

Post by JellyWarrior »

what I was saying before though is that DreamSNES emulates a SNES, if a SNES is asked to draw somthing off screen then naturtally DreamSNES would do the same thing.

To stop DreamSNES from drawing off screen you would have to put in some code that would stop the emulator from drawing things off screen, therefore you'd assume that it would slow things down because that extra code would make them emulator take up more memory and the Dreamcast would have to constantly check that nothing is being drwan off screen.

Krizzzopolis I'm not saying that your wrong, im just simply stating my point of view using my limited knowledge of programming.
Skype: distinctive
I am involved in : Mytalk | Comet TV | Distinctive Web Services
Ex-Cyber
DCEmu User with No Life
DCEmu User with No Life
Posts: 3641
Joined: Sat Feb 16, 2002 1:55 pm
Has thanked: 0
Been thanked: 0

Post by Ex-Cyber »

what I was saying before though is that DreamSNES emulates a SNES, if a SNES is asked to draw somthing off screen then naturtally DreamSNES would do the same thing.
And what I was saying is that the SNES PPU can't be asked to actually "draw" anything in the sense that the PSX GPU or a 3D graphics card can. It constructs the screen based on the contents of its RAM and the state of its control registers, and does not write into the RAM. So basically, you either allow VRAM writes to the areas outside of what's currently displayed, or you don't. If you don't allow such writes, not only would the emu probably be slower (since your memory handler would have to have an extra check to see whether or not the write should be allowed), it would probably also break the scenes you're trying to optimize.

As for the emulator drawing offscreen, there are a number of issues there. Depending on how it's implemented, it could be faster to draw the entire virtual display rather than generating it "on demand" as the scroll registers change. That's something that's specific to the emulator code and the host hardware.
Krizzzopolis
DCEmu Cool Newbie
DCEmu Cool Newbie
Posts: 14
Joined: Thu Feb 07, 2002 2:56 am
Has thanked: 0
Been thanked: 0

Post by Krizzzopolis »

i know psx and snes emulations are two different things, what i was just -mentioning- pete's direct 3d plugin. i know DreamSNES doesn't use directx because its not wince.

but do smaller areas in Chrono Trigger run faster/smoother because in large areas, stuff you're not seeing is processed?

also, cpu optimizations (skipping whenever the cpu is in a 'wait state') are not something SNES does, but DreamSNES does
Post Reply