.gif loop problem


Author
Message
Eric del Rio
Eric del Rio
Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)
Group: Forum Members
Posts: 10, Visits: 29
Dave - Friday, March 17, 2017
Eric del Rio - Friday, March 17, 2017
I have been having a similar issue with using .gif in <video> as stimuli in my test (Inquisit 5). On windows machines, the program will crash after one or two instances of a .gif.

On an iMac, the program will run, but .gif files get pretty choppy from time to time (start jumping and shaking on the screen). I've tried reducing the resolution of the images going into the .gif files but it doesn't seem to make a difference. When I use static images as stimuli, the program runs fine.


As far as I can determine the problem ultimately comes from two sources:
(1) The way Inquisit handles GIFs -- it essentially expands them into stimulusframes.
(2) The fact that in your case GIFs are drawn on top of each other, i.e. introducing two sets of potentially conflicting stimulusframes in a given instance of a <trial>.

Due to platform differences, this leads to a crash under Windows and "choppiness" under OSX.

The best "quick fix" I can see is to either (a) switch to a different (non-GIF) video format or (b) split things into separate <trial>s, i.e. instead of inserting the GIFs at values.stiminterval

<trial TargBP>
/ stimulusframes = [1 = NonBP, NonFace]
/ontrialbegin = [
values.rt = 0;

   
values.stiminterval = list.stimulusinterval.nextvalue;
trial.TargBP.insertstimulustime(video.NonFace, values.stiminterval);
trial.TargBP.insertstimulustime(video.TargetBP, values.stiminterval);


]
...
</trial>

have the trial only display NonBP and NonFace and set it to /timeout = values.stiminterval; if no response occurs prior to timeout, /branch to a 2nd <trial> that displays NonFace and TargetBP.

Hope this helps.

Thanks Dave, 

I shortened up the .gif files and optimized them so they are not such big file sizes. With the new .gif they won't overlap unless I loop them, I've tried to make the changes in the .gifs happen at a rate so that the delay during the change between non-target and target .gif files isn't so obvious.

Thanks again for all of your help

Eric
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 99K
Eric del Rio - Friday, March 17, 2017
I have been having a similar issue with using .gif in <video> as stimuli in my test (Inquisit 5). On windows machines, the program will crash after one or two instances of a .gif.

On an iMac, the program will run, but .gif files get pretty choppy from time to time (start jumping and shaking on the screen). I've tried reducing the resolution of the images going into the .gif files but it doesn't seem to make a difference. When I use static images as stimuli, the program runs fine.


As far as I can determine the problem ultimately comes from two sources:
(1) The way Inquisit handles GIFs -- it essentially expands them into stimulusframes.
(2) The fact that in your case GIFs are drawn on top of each other, i.e. introducing two sets of potentially conflicting stimulusframes in a given instance of a <trial>.

Due to platform differences, this leads to a crash under Windows and "choppiness" under OSX.

The best "quick fix" I can see is to either (a) switch to a different (non-GIF) video format or (b) split things into separate <trial>s, i.e. instead of inserting the GIFs at values.stiminterval

<trial TargBP>
/ stimulusframes = [1 = NonBP, NonFace]
/ontrialbegin = [
values.rt = 0;

   
values.stiminterval = list.stimulusinterval.nextvalue;
trial.TargBP.insertstimulustime(video.NonFace, values.stiminterval);
trial.TargBP.insertstimulustime(video.TargetBP, values.stiminterval);


]
...
</trial>

have the trial only display NonBP and NonFace and set it to /timeout = values.stiminterval; if no response occurs prior to timeout, /branch to a 2nd <trial> that displays NonFace and TargetBP.

Hope this helps.

Eric del Rio
Eric del Rio
Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)Expert (1K reputation)
Group: Forum Members
Posts: 10, Visits: 29
I have been having a similar issue with using .gif in <video> as stimuli in my test (Inquisit 5). On windows machines, the program will crash after one or two instances of a .gif.

On an iMac, the program will run, but .gif files get pretty choppy from time to time (start jumping and shaking on the screen). I've tried reducing the resolution of the images going into the .gif files but it doesn't seem to make a difference. When I use static images as stimuli, the program runs fine.


Attachments
Test 8.iqx (258 views, 22.00 KB)
NonBP.gif (312 views, 39.00 KB)
NonFace.gif (408 views, 1.00 MB)
TargetBP.gif (352 views, 37.00 KB)
TargetFace.gif (350 views, 1.00 MB)
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 99K
Thanks. Let me know what you find. Just for clarification, the error message you posted

> Faulting application name: Inquisit.exe, version: 4.0.3.0, time stamp: 0x51d05b53

refers to a (very) outdated Inquisit version (4.0.3.0). So, either that crash message stems from before updating the respective machine or the system is still running an old build.

zajac
zajac
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 28, Visits: 98
I'm going to run your test script later today and see if I can get the error to occur.  It has happened barely a handful of times on the new install.  I have gone over the windows error log and found the relevant entry.  This is the info I can extract from it.  

GENERAL:
Faulting application name: Inquisit.exe, version: 4.0.3.0, time stamp: 0x51d05b53
Faulting module name: d2d1.dll, version: 6.2.9200.16765, time stamp: 0x528bf6b2
Exception code: 0xc0000420
Fault offset: 0x002466e8
Faulting process id: 0x27bc
Faulting application start time: 0x01cf7fed2688f8db
Faulting application path: C:\Program Files\Millisecond Software\Inquisit 4\Inquisit.exe
Faulting module path: C:\Windows\system32\d2d1.dll
Report Id: b31e29dd-ebe0-11e3-b373-2016d891ba21

I can't really find anything in there that looks like it will help narrow things down.  



Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 99K
For the Windows logs right-click the Computer icon -> Manage -> Event Viewer -> Windows Logs -> Application. From there you can filter the log (i.e. display only the relevant entries / entry types) and save them to file.

Inquisit also keeps its own technical log, which is accessible via Tools -> View Log File...

Meanwhile I have been running a couple of test using the files you kindly provided and a bit of simple code:

<block myblock>
/ trials = [1-100=test]
</block>

<picture stillpic>
/ items = ("static.jpg")
/ size = (250px,250px)
/ position = (50%, 50%)
</picture>

<video animatedpic>
/ items = ("solid.gif", "transparent.gif")
/ loop = true
/ size = (250px,250px)
/ position = (50%, 50%)
</video>

<trial test>
/ stimulustimes = [0=stillpic;3000=animatedpic]
/ timeout = 5000
</trial>

Unfortunately I have so far been unable to observe the crash you described. This is true for version 4.0.5.0 as well as a current 4.0.6.0 pre-release build. It also doesn't make any difference whether the transparent- or solid-background GIF is used.

When you say the crash happens randomly, how frequently does it occur (i.e. approx. 1 out of N trials)? Is the crash tied to any specific files (i.e. only happens for certain GIFs)?

To rule out some other additional factor necessary to cause the crash, are you able to reproduce it using the above code?

Thanks!

zajac
zajac
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 28, Visits: 98
Do you know of a way I can recover the Inquisit/Windows error logs that were occurring for me from my machine?  Would these be useful for you?

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 99K
Thanks for the files. We'll take a look at this ASAP. If you come across any additional details or insights in the meantime, please don't hesitate to add them to this thread.

Thanks!

zajac
zajac
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 28, Visits: 98
Hi Dave

I realise at the same time as editing the image, that I updated Inquisit to the latest version.  This morning, having tested on a touch-screen machine, I also had to update Inquisit to resolve the error (I was running 4.04 something before).  However, it isn't completely resolved.  Despite the upgrade, I have had the same error sporadically when Inquisit tries to run a trial.  It is unpredictable.  Previously, on the older version, it happened every time.

One of the machines I use is WIN 7 Enterprise.  The other is WIN 8.1 Ent...

The images are attached.  


Attachments
images.zip (314 views, 66.00 KB)
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 99K
Yes, it is a bit strange. Can you share both versions of one such .GIF (with / without transparency)? Could you attach them here?

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search