Opened 7 years ago
Closed 7 years ago
#9947 closed defect (fixed)
MOHAWK: Riven: Screen Transition at beginning could be Smoother
Reported by: | dafioram | Owned by: | bgK |
---|---|---|---|
Priority: | low | Component: | Engine: Mohawk |
Version: | Keywords: | ||
Cc: | Game: | Riven |
Description
ScummVM: 1.10.0git-3766-gb0ecbc9
Tester OS: Win7-64
Game: Riven DVD/Windows/v1.2
Sometimes when moving between screens the transition doesn't look good. This example is at the beginning of the game. It looks like two different pictures rather than someone just looking up.
I have videos show the differences scummvm/original for DVD.
ScummVM DVD: https://streamable.com/ikjj0
XP Pro DVD: https://streamable.com/8fekb
There may be quite a few of these.
Attachments (3)
Change History (13)
by , 7 years ago
Attachment: | Untitled.png added |
---|
comment:1 by , 7 years ago
Yes, the transitions are not very smooth in the daily build because those have the compiler optimizations disabled. Release mode builds are fine though.
I'm leaving this open because I might improve the frame limiting code to leave more time to the game to draw its frames when needed instead of blindly delaying for a fixed amount of time.
comment:2 by , 7 years ago
Owner: | set to |
---|---|
Resolution: | → wontfix |
Status: | new → pending |
I tried adding better frame limiting to Riven, but it did not bring much improvement. I'll probably leave it as is.
I've made a Windows release build so you can check the transitions are smooth for you when using an optimized build:
https://filenurse.com/download/86d8813e32e86580bcde66888332f1e7.html
comment:4 by , 7 years ago
Ok. Here are two other test versions of ScummVM: http://ge.tt/2rry1ml2
One with an improved frame rate limiter. It does its best to render at 60 fps.
One that enables vertical refresh synchronization (vsync) and relies on it for frame pacing.
Please report if one of those behave better for you.
Also please check your video recording software is not slowing down the game. On my system, if I enable screen recording the transitions become laggy in Riven.
comment:5 by , 7 years ago
It is safe to assume that neither scummvm nor my screen recording software is being limited by my cpu/gpu.
The behavior of both the vsync and the framelimiter version is the same as the debug version. I don't believe the problem is that of speed, but how scummvm is connecting the bottom and top picture of the two different screens. Namely, that it is not interpolating the frames in between or that scummvm is just skipping the frames in between. The scummvm playthrough at this spot in the game looks like a slide show.
comment:6 by , 7 years ago
Resolution: | wontfix |
---|---|
Status: | pending → new |
Oh, right, my mistake. Hotspots have a transition offset that controls how the current and next views overlap during a transition. I had it reverse engineered by forgot to implement it.
comment:7 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thanks for your report, this is now fixed (Commit ef42fd3476).
comment:8 by , 7 years ago
Unfortunately this fix doesn't work on Mac OS X 10.6.8. The game crashes immediately the example described above is attempted.
Mac OS X console report:
- [0x0-0x3e03e].org.scummvm.scummvm[xxx] ../../src-master/src/backends/graphics/surfacesdl/surfacesdl-graphics.cpp:1445: failed assertion `h > 0 && y + h <= _videoMode.screenHeight'
comment:9 by , 7 years ago
Resolution: | fixed |
---|---|
Status: | closed → new |
comment:10 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Sorry about that. This is now fixed by commit a7900f5.
The OpenGL renderer still works fine.
Screen grab halfway between two scenes.