The FPS is also the scripting speed at which the game responses to the stuff that's happening... so it creates huge lags if you put it too huge. #4.4 .Does anyone know why the Max fps for torment is recommend at 40?
DDraw Fix (For Slowdowns/Stuttering)
#41
Posted 24 July 2011 - 03:42 AM
Deactivated account. The user today is known as The Imp.
#42
Posted 28 July 2011 - 12:27 PM
http://www.gog.com/e...ent_mods_guide/
You could say this is my first time playing this gem, so I'd like to get the most out of it, and vsync turned off is just killing me
Also, huge thanks to the guy(s) that made this fix and all the other mods
Cheers!
Edited by TormentStorm, 28 July 2011 - 12:35 PM.
#43 -aqrit-
Posted 28 July 2011 - 02:55 PM
I haven't test on win x64 yet
Assuming the function call isn't failing and you didn't get any errors when installing...
It is possible that the bitblt is occuring late, I suppose. But there isnt that much going on between the wait call and the bitblt.
The cursor trail fix puts all the drawing through the windowed mode's UpdateFrame function.
Which I think doesn't look as smooth as the fullscreen's method. (flip vs bitblt)
But the game hasn't ever run very smooth (AFAIK) and probably never will at 30 fps.
OTIX says d3dwindower produced smoother results, you may want to try that.
WineD3D is probably the best alternative though.
At some point I'll see if I can fix the cursor trail problem some other way.
#44
Posted 28 July 2011 - 03:41 PM
I've tried D3D windower, but I don't really like playing games in windowed mode. I'd rather stick with your fix and deal with screen tearing if there's no solution.
Edited by TormentStorm, 28 July 2011 - 03:49 PM.
#45 -Tanuki-
Posted 10 September 2011 - 05:47 PM
Not wanting to lower the setting I discovered enabling "disable display scaling on high dpi settings" in the compatibility options for the Torment executable solved this problem. I didn't find this mentioned here so maybe this helps some user.
I am running 864x486 upscaled by the GPU to 1920x1080 and it is excellent. If only Creative would fix Alchemy the game would be near perfect. I appreciate the work everyone has put into these IE games.
#46
Posted 11 September 2011 - 01:13 AM
---
In other news:
The mouse trails are caused by HEL's Flip method not flipping!
HEL's Flip (apparently) just Blts the back buffer to the front buffer,
The front buffer is discarded/overwritten and is never flipped/swapped to the back buffer.
The game tries to perform a minimum screen update by erasing the mouse cursor from the back buffer.
However the game doesn't realize that the front buffer isn't being returned to the back buffer...
A fix like the following seems like it would be slow because its copying the entire screen three times instead of once.
pDDSOffscreen->BltFast( 0, 0, pDDSFront, NULL, DDBLTFAST_NOCOLORKEY | DDBLTFAST_WAIT ); pDDSFront->BltFast( 0, 0, pDDSBack, NULL, DDBLTFAST_NOCOLORKEY | DDBLTFAST_WAIT ); // <- basically what Flip is doing pDDSBack->BltFast( 0, 0, pDDSOffscreen, NULL, DDBLTFAST_NOCOLORKEY | DDBLTFAST_WAIT );
any ideas are welcome
#47
Posted 11 September 2011 - 02:50 AM
Use wine?
#48
Posted 11 September 2011 - 02:54 PM
so modding it to always use the back buffer info will be my vector of attack
#49
Posted 11 September 2011 - 06:44 PM
Though maybe it's because BG2 engine is slightly different.
#50
Posted 12 September 2011 - 03:11 AM
That's a problem with transparency, as there is and will never be anything to replace the transparent background, except the current one... just like if you install the Widescreen mod and then install one of the GUI mods... as the gui update leaves the extra spaces transparent... ok so the Ghostdog's PS:T UI is the only mod that doesn't, but nearly all the rest get sliced.I recently had some trouble with areas missing (the uncompressor didn't work in the virtualbox bridge filesystem) so i saw a (bg2 version) of the infinity engine blitting it's way to nothing. Everything that moved left trails in this no background to blit condition.
Deactivated account. The user today is known as The Imp.
#51
Posted 13 September 2011 - 06:36 PM
; 4cd-v1.1 - sub_UpdateFrame_Fullscreen - 008300E4 00830363 CMP DWORD PTR DS:[ECX+14],0 ; Is primary surface in system memory (out_of_video_memory, 0x8876017c ) 00830367 JE 00830410 ; cursor trails if followed && HEL
#52
Posted 13 September 2011 - 07:08 PM
Gotcha, found it.
I guess you'd want to test on a wide variety of machines before releasing something like that.
Edited by i30817, 13 September 2011 - 07:09 PM.
#53
Posted 13 September 2011 - 09:02 PM
I need to move the vsync stuff somewhere (~400 bytes)
I hope to add support for vsync under WinXP (+300 bytes maybe)
Although Torment had a terrible compiler...
I don't want to be rewriting huge portions of the code to make space
I cannot increase the size of the EXE because so many scripts check the file size to determine the version.
I suppose the code could be patched into smack.dll but that would be a odd play.
Which leaves shipping a dll and patching in a LoadLibrary call which might introduce some trust issues with anti-viruses
Deep thoughts on this topic welcome. Always.
Edited by aqrit, 13 September 2011 - 09:20 PM.
#54
Posted 14 September 2011 - 10:11 AM
#56
Posted 18 September 2011 - 11:03 PM
However, I think I'll just drop the vsync stuff.
TormentStorm is correct, vsync isn't working.
The function calls all look okay but... the screen is still tearing and I don't know why.
The problem is very visible if I just swap between black and white backgrounds while using the hardware emulation layer
( Epileptic seizure warning... )
The problem doesn't occur when not using the hardware emulation layer
All function return values look the same regardless of whether I use HEL or HAL
edit:
when the HAL blitter finishes the monitor is around scanline 3...
but HEL finishes around ~7 with a spike every 7 frames where it jumps up to ~16
but... anything less than 20 is in vertical blank usually?
shouldn't the drawing issues be localized to the top couple lines of the screen?
Attached Files
Edited by aqrit, 18 September 2011 - 11:52 PM.
#57
Posted 17 October 2011 - 03:54 PM
Disables high DPI scaling
Removed vsync hack
Improved the cursor trail fix
- eliminates previous issue with the widescreen mod
- possibly smoother scrolling in fullscreen mode
(internal) improved signature scanner
Not very exciting but there isn't much to pst-drawfix anyways
( change two bytes in the executable then drop a text file )
Have fun
#58
Posted 17 October 2011 - 08:24 PM
#59
Posted 18 October 2011 - 12:58 PM
so there aren't any problems if someone installs this fix while using Wine, or VirtualBox, or whatever
#60
Posted 28 October 2011 - 05:46 AM