|Viewing Issue Advanced Details|
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|04396||Interface||Minor||Always||2011-06-29 18:15||2011-08-19 17:22|
|Assigned To||hap||Resolution||Fixed||OS||Windows Vista/7 (64-bit)|
|Version||0.143||Fixed in Version||0.143u4||Build||Normal|
|Summary||04396: all games and drivers: Refreshspeed activating when not needed|
|Description||If refreshspeed is enabled globally via default game options, it limits every game/driver to 99%|
|Steps To Reproduce||Enable refreshspeed globally, start any game and they will all be running 99%.|
|Affected Sets / Systems||all games and drivers|
edited on: 2011-06-30 02:20
My LCD is working at 58.8 Hz, all games are limited to 97%. It is about 97-98% of 60 Hz. This could have to do with this.
Some 30 fps games such like shanghai and gberet, and 55 hz games like imgfight, all work at 97% with the -refreshspeed option for me.
Sorry for closing this report at first, it was my misunderstanding.
Upon testing with a 60hz CRT, with "gberet" a 30hz game .. the "99%" issue began between the following revisions:
= r10176 (I have a r10175 build and it's fine)
= r10182 - this build I have shows the "99%".
Judging from change logs it looks most like something in r10176 where there were oodles of changes to machine, driver, sound, video devices.
This is also likely the cause of the issue that was reported to .info forum a few months ago too, regarding changed %'s when -refreshspeed was used.
During screen.c device start, it calls a function in video.c that's responsible for setting the speed: update_refresh_speed()
That function calls frame_period() which is in screen.h, and denies access if the device wasn't started yet. This causes it to always return a default value (60hz) if frame_period is read during device start.
It's easy to workaround this bug in an ugly way, but I don't know how to fix this cleanly myself. Aaron mayhaps?
|ok, fix was easy anyway|