AKrishna
|
|
Group: Forum Members
Posts: 118,
Visits: 396
|
A driver update to the current Intel build changed nothing, the error persisted.
And yes - the uploaded script is the same as the one being used in the testing, as is the picture.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+xA driver update to the current Intel build changed nothing, the error persisted. And yes - the uploaded script is the same as the one being used in the testing, as is the picture. Alright, I've compiled all the information into a bug report. We'll have to see if we can find some system among ours on which the problem is reproducible (no luck with that yet). If you get the specs from the other systems you've observed this on, please add them here.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+xA driver update to the current Intel build changed nothing, the error persisted. And yes - the uploaded script is the same as the one being used in the testing, as is the picture. Alright, I've compiled all the information into a bug report. We'll have to see if we can find some system among ours on which the problem is reproducible (no luck with that yet). If you get the specs from the other systems you've observed this on, please add them here. We're not having any luck trying to reproduce the issue. To help us narrow down potential causes, it would be great if you could try the following on the affected Dell machine and report back the result: Set values.TimeInMSBetweenAnimationHops to twice the nominal refresh interval reported by the system, i.e. <values> ... / TimeInMSBetweenAnimationHops = 2*display.refreshinterval ... </values> This will obviously slow down the animation and make it choppy, but it would be very helpful to know whether the text layer is still being omitted on some trials or whether it is displayed reliably with a longer hop time.
|
|
|
AKrishna
|
|
Group: Forum Members
Posts: 118,
Visits: 396
|
+x+x+xA driver update to the current Intel build changed nothing, the error persisted. And yes - the uploaded script is the same as the one being used in the testing, as is the picture. Alright, I've compiled all the information into a bug report. We'll have to see if we can find some system among ours on which the problem is reproducible (no luck with that yet). If you get the specs from the other systems you've observed this on, please add them here. We're not having any luck trying to reproduce the issue. To help us narrow down potential causes, it would be great if you could try the following on the affected Dell machine and report back the result: Set values.TimeInMSBetweenAnimationHops to twice the nominal refresh interval reported by the system, i.e. <values> ... / TimeInMSBetweenAnimationHops = 2*display.refreshinterval ... </values> This will obviously slow down the animation and make it choppy, but it would be very helpful to know whether the text layer is still being omitted on some trials or whether it is displayed reliably with a longer hop time. Haven't been able to test this yet, but will do so hopefully later today. For now, the specs of another affected system: Windows 10 Build 19042 Intel Core i5-10210U 16 GB RAM Intel UHD Graphics, driver version 26.20.100.7985 Resolution: 1920 x 1080 x 60 Hz
|
|
|
AKrishna
|
|
Group: Forum Members
Posts: 118,
Visits: 396
|
+x+x+xA driver update to the current Intel build changed nothing, the error persisted. And yes - the uploaded script is the same as the one being used in the testing, as is the picture. Alright, I've compiled all the information into a bug report. We'll have to see if we can find some system among ours on which the problem is reproducible (no luck with that yet). If you get the specs from the other systems you've observed this on, please add them here. We're not having any luck trying to reproduce the issue. To help us narrow down potential causes, it would be great if you could try the following on the affected Dell machine and report back the result: Set values.TimeInMSBetweenAnimationHops to twice the nominal refresh interval reported by the system, i.e. <values> ... / TimeInMSBetweenAnimationHops = 2*display.refreshinterval ... </values> This will obviously slow down the animation and make it choppy, but it would be very helpful to know whether the text layer is still being omitted on some trials or whether it is displayed reliably with a longer hop time. Increasing the time between animation hops in this way did NOT solve the issue on at least one affected system (the one with the old Intel driver). The zoom effect was visibly slower as expected, but the word still flickered and there were still "jumps" in the zoom.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+x+x+x+xA driver update to the current Intel build changed nothing, the error persisted. And yes - the uploaded script is the same as the one being used in the testing, as is the picture. Alright, I've compiled all the information into a bug report. We'll have to see if we can find some system among ours on which the problem is reproducible (no luck with that yet). If you get the specs from the other systems you've observed this on, please add them here. We're not having any luck trying to reproduce the issue. To help us narrow down potential causes, it would be great if you could try the following on the affected Dell machine and report back the result: Set values.TimeInMSBetweenAnimationHops to twice the nominal refresh interval reported by the system, i.e. <values> ... / TimeInMSBetweenAnimationHops = 2*display.refreshinterval ... </values> This will obviously slow down the animation and make it choppy, but it would be very helpful to know whether the text layer is still being omitted on some trials or whether it is displayed reliably with a longer hop time. Increasing the time between animation hops in this way did NOT solve the issue on at least one affected system (the one with the old Intel driver). The zoom effect was visibly slower as expected, but the word still flickered and there were still "jumps" in the zoom. Thanks for taking the time to test (also regarding the other, progress bar / shape sizing issue; https://www.millisecond.com/forums/FindPost31710.aspx ). My guess is that the two are indeed related, and I suspect the ultimate cause is some misinterpretation of the calculated size values happening due to confustion about the decimal separator ("," vs ".") either at the driver-level or somewhere deep inside the engine. Your test results should give us enough to go on and either fix (if it's engine-level) or work around (if it's driver-level) that in the next update.
|
|
|
Erik
|
|
Group: Moderators
Posts: 13,
Visits: 199
|
This turns out to be another case where appending a size indicator via string manipulation running afoul of the local locale. In this particular case replace all the concat(value, "%") code with display.getpixelsx(value): In the attached scripts case modify the relevant <expressions> to the following: / AATTargetStimulusXSize = if (expressions.MovementDirection == "Approaching") display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 + values.HopCounter*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding") display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 - values.HopCounter*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) else display.getpixelsx(values.StartingAATTargetTextHeightInPercent) / AATTargetStimulusXSizeForError = if (expressions.MovementDirection == "Approaching" && script.currentblock == "PracticeAAT" && !values.ErrorFeedbackInPracticePhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 + values.NumZoomSteps*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding" && script.currentblock == "PracticeAAT" && !values.ErrorFeedbackInPracticePhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 - values.NumZoomSteps*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Approaching" && script.currentblock == "AAT" && !values.ErrorFeedbackInSRBindingPhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 + values.NumZoomSteps*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding" && script.currentblock == "AAT" && !values.ErrorFeedbackInSRBindingPhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 - values.NumZoomSteps*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) else display.getpixelsx(values.StartingAATTargetTextHeightInPercent) / BGPicXSize = if (expressions.MovementDirection == "Approaching") display.getpixelsx(values.StartingBGPicWidth * (1 + values.HopCounter*(values.FinalZoomFactorBGPic-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding") display.getpixelsx(values.StartingBGPicWidth * (1 - values.HopCounter*(1-1/values.FinalZoomFactorBGPic)/values.NumZoomSteps)) else display.getpixelsx(values.StartingBGPicWidth)
and things should work as expected regardless of the locale.
The next release will at least issue a warning that the person running the experiment will see if Inquisit fails to parse a size.
Developer at Millisecond Software, LLC.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 105K
|
+xThis turns out to be another case where appending a size indicator via string manipulation running afoul of the local locale. In this particular case replace all the concat(value, "%") code with display.getpixelsx(value): In the attached scripts case modify the relevant <expressions> to the following: / AATTargetStimulusXSize = if (expressions.MovementDirection == "Approaching") display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 + values.HopCounter*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding") display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 - values.HopCounter*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) else display.getpixelsx(values.StartingAATTargetTextHeightInPercent) / AATTargetStimulusXSizeForError = if (expressions.MovementDirection == "Approaching" && script.currentblock == "PracticeAAT" && !values.ErrorFeedbackInPracticePhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 + values.NumZoomSteps*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding" && script.currentblock == "PracticeAAT" && !values.ErrorFeedbackInPracticePhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 - values.NumZoomSteps*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Approaching" && script.currentblock == "AAT" && !values.ErrorFeedbackInSRBindingPhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 + values.NumZoomSteps*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding" && script.currentblock == "AAT" && !values.ErrorFeedbackInSRBindingPhaseInsteadOfZoom) display.getpixelsx(values.StartingAATTargetTextHeightInPercent * (1 - values.NumZoomSteps*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) else display.getpixelsx(values.StartingAATTargetTextHeightInPercent) / BGPicXSize = if (expressions.MovementDirection == "Approaching") display.getpixelsx(values.StartingBGPicWidth * (1 + values.HopCounter*(values.FinalZoomFactorBGPic-1)/values.NumZoomSteps)) else if (expressions.MovementDirection == "Avoiding") display.getpixelsx(values.StartingBGPicWidth * (1 - values.HopCounter*(1-1/values.FinalZoomFactorBGPic)/values.NumZoomSteps)) else display.getpixelsx(values.StartingBGPicWidth)
and things should work as expected regardless of the locale.
The next release will at least issue a warning that the person running the experiment will see if Inquisit fails to parse a size. Erik beat me to the punch while I was still working on this. Note that the code provided by Erik will result in slightly to noticeably larger text sizes compared to the original code. A/B testing, I am getting identical results with the below alternative, which should (and does, on my systems) work regardless of locale / regional format settings. <expressions> / AATTargetStimulusXSize = if (expressions.MovementDirection == "Approaching") { 1pct*(values.StartingAATTargetTextHeightInPercent * (1 + values.HopCounter*(values.FinalZoomFactorText-1)/values.NumZoomSteps)); } else if (expressions.MovementDirection == "Avoiding") { 1pct*(values.StartingAATTargetTextHeightInPercent * (1 - values.HopCounter*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)); } else { 1pct*(values.StartingAATTargetTextHeightInPercent); }; / AATTargetStimulusXSizeForError = if (expressions.MovementDirection == "Approaching" && script.currentblock == "PracticeAAT" && !values.ErrorFeedbackInPracticePhaseInsteadOfZoom) { 1pct*(values.StartingAATTargetTextHeightInPercent * (1 + values.NumZoomSteps*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) } else if (expressions.MovementDirection == "Avoiding" && script.currentblock == "PracticeAAT" && !values.ErrorFeedbackInPracticePhaseInsteadOfZoom) { 1pct*(values.StartingAATTargetTextHeightInPercent * (1 - values.NumZoomSteps*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) } else if (expressions.MovementDirection == "Approaching" && script.currentblock == "AAT" && !values.ErrorFeedbackInSRBindingPhaseInsteadOfZoom){ 1pct*(values.StartingAATTargetTextHeightInPercent * (1 + values.NumZoomSteps*(values.FinalZoomFactorText-1)/values.NumZoomSteps)) } else if (expressions.MovementDirection == "Avoiding" && script.currentblock == "AAT" && !values.ErrorFeedbackInSRBindingPhaseInsteadOfZoom) { 1pct*(values.StartingAATTargetTextHeightInPercent * (1 - values.NumZoomSteps*(1-1/values.FinalZoomFactorText)/values.NumZoomSteps)) } else { 1pct*(values.StartingAATTargetTextHeightInPercent) }; / BGPicXSize = if (expressions.MovementDirection == "Approaching") { 1pct*(values.StartingBGPicWidth * (1 + values.HopCounter*(values.FinalZoomFactorBGPic-1)/values.NumZoomSteps)) } else if (expressions.MovementDirection == "Avoiding") { 1pct*(values.StartingBGPicWidth * (1 - values.HopCounter*(1-1/values.FinalZoomFactorBGPic)/values.NumZoomSteps)) } else { 1pct*(values.StartingBGPicWidth) }; </expressions>
|
|
|