Beta ResidualVM


I will start debugging Mokey4 tonight or tomorrow. It's strange because they (Grim & Monkey4) are running on the same engne (on residualvm side). Just to be sure, you are using the PC version of the game, not the PS2 one?
 
Last edited:
Mmm, I have to look at this "fullscreen" option I guess.
[doublepost=1461011841,1461007095][/doublepost]Ok, here is a new version, that force fullscreen and with a slighlty simple initialise sequence. Maybe it will work better.

About memory consuption, I compiled this version with more options than the build on the repo (like Tremor, mpeg2 or Timidity). Not sure it's usefull, and, as it's dynamicaly loaded, not sure it change memory in fact...
I have trouble with Myst 3, where when I try to look down in a lot of areas it snaps to a certain angle, and won't move until I look back up. Makes the game impossible.
 
I have trouble with Myst 3, where when I try to look down in a lot of areas it snaps to a certain angle, and won't move until I look back up. Makes the game impossible.
Fullscreen issue? Do you see the time in task bar blinking?
I have to retry but I didn't experience that on my side.
I'm looking at monkey4 for now (and I reproduce the black screen at the beggening of the game, but still don't understand why this happens).
 
Fullscreen issue? Do you see the time in task bar blinking?
I have to retry but I didn't experience that on my side.
I'm looking at monkey4 for now (and I reproduce the black screen at the beggening of the game, but still don't understand why this happens).
Yes, and it's fixable by checking the full screen box and setting the renderer to opengl!
 
Here is a new build.
Monkey4 is playable now in OpenGL+shaders with Fullscreen & Aspect Ratio. I hope I have only fixed things and not broken anything.

The issue was:
1. Using GL rendering with Fullscreen and aspect ratio correction force the use of Framebuffer
2. The intro screens use some cross-fade between screens using a screen capture
3. That screen grabbing is done with glReadPixels, not much choices, but that can be slow in GLES2 (and it seems especialy here with framebuffers)
4. The glReadPixels are done line by line, to put the texture in the right side (GL textures are upside-down).
5. And here was the problem, each glReadPixels was taking a long time (like half a second), and it was doing hundreds of them (480 in fact)... I batched the glReadPixels (and do the reverts with memcpy with a temporary buffer), and it's much faster.

*EDIT*: removed attached pnd, use next one, it's better.
 
Last edited:
@PokeParadox : ah yes, this part is still super slow.
I have just made a PVRTrace capture to understand what's going on, and there is hundreds of glCopyTexImage2D calls. Same as with glReadPixels, this kind of calls is super slow on GLES. I'll see if I can optimise that.
[doublepost=1461439775,1461437169][/doublepost]Ok, I have a last version.
I had to do some more ugly hack here, to batch the call to glCopyTexImage2D, as thoses call where done from lua, so from the scripts in the datas.
Anyway, now it's faster to save.
 

Attachments

  • residualvm.pnd
    19 MB · Views: 314
Last edited:
Back
Top