This article applies to:
Windows 10 Creators Update (version 1703, build 10.0.15063.x) interrupts E-Prime’s ability to detect the refresh rate. This interruption results in a runtime error stating, “Unable to obtain a valid refresh rate”.
What is Windows 10 Creators Update?
Windows 10 Creators Update (version 1703, build 10.0.15063.x) is the third major update to Windows 10. The final version of this build was released on April 11th, 2017. Among other changes, Windows 10 Creators Update made changes to the manner in which the Operating System interacts with the monitor.
What is the impact on E-Prime?
One of E-Prime’s most important features is its ability to achieve and maintain millisecond accuracy. E-Prime takes numerous precautions to both ensure that your experiment’s timing is accurate and to monitor and flag when timing inaccuracies may be present. One such feature is E-Prime’s ability to detect a stable refresh rate. Detection of a stable refresh rate is critical to E-Prime’s ability to maintain millisecond accurate timing and reliably predict any timing delays or inconsistencies in your experiment. When E-Prime determines that the refresh rate cannot be reliably detected, the following run-time error is shown:
This error message warns users that E-Prime is not able to maintain accurate display timing under the current run environment. This is a safe-guard against collecting potentially inaccurate data.
Due to several changes to the Windows Display Manager introduced in Windows 10 Creators Update, Windows occasionally enters a state where it does not believe that a valid monitor is attached to the computer. Microsoft has verified that this state is caused by the changes that were made to the Windows Display Manager. Subsequently, E-Prime cannot identify a valid refresh rate, which then causes the above error message to be displayed when attempting to run an experiment under these changes.
Update to a later Windows 10 build (version 1709, build 10.0.16299.x or later). Microsoft has reported that this behavior has been fixed in the Fall Creators Update. A fix is also available for E-Prime 3.0. To access this version, please visit the Downloads section of the support site and download E-Prime 184.108.40.206.
A workaround is available for E-Prime 2.0 (Standard and Professional). Download the attached experiment for your applicable version and follow the steps below to apply the workaround.
- Open a new copy of E-Studio 2.0 and load RecalcExperiment.es2
- Open a new copy of E-Studio 2.0 and load your experiment. You will now have two E-Studio instances open - one with RecalcExperiment.es2 and one with your experiment.
- In your experiment, navigate to the Experiment Object Properties -> Devices -> Display Device and set the “Throw error if invalid refresh rate” property to No.
- From RecalcExperiment, drag the InLine RecalculateRefreshRate over to your experiment and ensure it is the first object in SessionProc.
- Run your experiment and confirm that no errors occur.
- Review your data file and confirm the following:
- The Display.RefreshRate column has a value > 50.
- In the first row of your data file, all values in .OnsetTime columns are greater than the Display.RefreshRate.ValidTime.