TR1X icon indicating copy to clipboard operation
TR1X copied to clipboard

TR1X bug: Blinking text discrepancy - 30/60 FPS

Open aredfan opened this issue 1 year ago • 3 comments

While investigating #1370, I've also noticed the blinking text speed isn't equivalent between 30/60 FPS.

I made comparison videos to help illustrate the issue, these are shared via google drive.

Left is 60 FPS, right is 30 FPS.

https://drive.google.com/drive/folders/1JgSudOAWCxOzxai4GLuiT9_dEScMiG4m?usp=sharing

aredfan avatar May 22 '24 11:05 aredfan

Honestly the 60 FPS blink speed looks better IMO. In 30 FPS, the text is flashing very fast.

walkawayy avatar May 22 '24 13:05 walkawayy

I agree, the 60 FPS blink speed is easier on the eyes. Perhaps 30 FPS can be changed to match.

aredfan avatar May 22 '24 18:05 aredfan

This seems to be happening because in 60 FPS, Text_Draw calls Clock_GetElapsedUnit which will sometimes return frames, a double, just under 1. For example, frames might be 0.998580. This causes m_FlashFrames to be 0 in 60 FPS sometimes, so in Text_DrawText, the line textstring->flash.count -= m_FlashFrames; will have no effect. Is a solution to set m_FlashFrames to be a minimum of 1 in Text_Draw to essentially round up frames?

walkawayy avatar Jul 05 '24 23:07 walkawayy