2022-08-10 04:05 EDT

View Issue Details Jump to Notes ] Related Changesets ]
IDProjectCategoryView StatusLast Update
0001190FSSCP---------public2012-01-09 13:06
Assigned Totaylor 
Product Version3.6.9 
Target VersionFixed in Version3.6.9 
Summary0001190: The Background is flickering when Theora-Movies are played
I have the following problem:
When the game plays an Theora-Movie, the background (that shouldn't be visible anymore) flickers madly.
A more specific example:
When I start FS2_Open (no matter if in Windows or Linux), the splash-screen is shown. Then fs2_open plays the intro-movie but the splash-screen still seems to be in the background. So the movie is played correctly but the "bars" over and under the movie are still containing the splash-screen and this is flickering madly (black, splash-screen, black, splash-screen...)
This happens everywhere where a movie is played.
And this also happens in the fresh released Wing Commander Saga Prologue.

Maybe it's an issue with my Graphics Card (GeForce 3)?
Oh... I'm playing in OpenGL-Mode.

Do you need any additional informations?
TagsNo tags attached.
Attached Files

has duplicate 0001194resolvedtaylor WCS Menu Flickers In and Out In Cutscenes 



taylor (administrator)

Does it do this with MVE movies too? It's the same basic code (I upgraded the MVE code to work like the Theora code) so it should happen with both.

If it only happens with Theora movies then it's specific to the Theora only code bits. If it happens with both movie types then it's probably some issue with the common code.


Mr_Maniac (reporter)

Okay... I just copied over the MVEs of FS1 and tested it with the FSPort.
And unfortunaly, it's also flickering...

Oh... And I think I saw some speed-changing in theora-movies...
Especially at scene-change it slows down...
Sometimes it's lagging for a very short time and then even the flickering is slowing down...
MVEs are played back smoothly and the flickering is very... Uhm... Consistant...


Mr_Maniac (reporter)

Last edited: 2007-01-03 10:01

I've tested it with D3D now... Well... It doesn't flicker, but...
Look for yourself. I've attached an file (Video.png). That's an screenshot of the Video playing in D3D mode.

Okay... I think we can forget this...
It was my fault again...
Somewhen I did activate "Triple Buffering" in the nvCpl...
Now that I disabled it the video is playing fine under Windows...
Will test it later in Linux...

But movie-Playback still is a bit slow...


taylor (administrator)

I know it doesn't work in D3D, there just isn't anyone to code in proper support for it. In the future though, D3D won't even be allowed to play Theora movies until someone comes along and fills in the code for it.

The "Triple Buffering" thing ... sounds about right. It currently is only designed to be used on double-buffer at most. So what is happening is that it clears two buffers, but the third gets left in it's previous state. The video is only output to the portion of the screen in which it's shown, so the third buffer will still show whatever it had on it previously, behind the video.

I had a clear call each frame in earlier code, but took it out since that slows things down a little bit. I figured it better to have the movies play faster rather than safer. :)

Speed wise though, the Theora movies are very CPU bound. The MVEs don't really have this problem. The Theora movies first have to be decoded by the codec, into YUV, then converted by the player into RGB so that it can be shown on screen. Eventually the RGB conversion will be optional depending on your video card (with shaders I'll be able to do it on the video card itself, accelerated).

Amazingly, the Theora player is about 60% faster than it used to be. It needs further work though, so speed will increase for 3.6.10 at least. And the MVE player used to be *very* slow as well, it took a fair bit of work (almost a year or so of tweaking) to get it to the speed that it runs at now.


ARSPR (reporter)

Last edited: 2007-01-03 16:03

In my system flickering also appears if I activate triple buffering. (7800GS AGP)

(I've only tested with OGG files).


Mr_Maniac (reporter)

Just a little note:
I've deactivated triple buffering in Linux, too.
Works fine now.
And without the flickering, those speed-changes are barely noticeable :)


taylor (administrator)

Fixed locally (by clearing all three buffers). I'll resolve this once the code hits CVS.


taylor (administrator)

Someone please re-enable triple-buffering and give this build a try:


Mr_Maniac (reporter)

Yup... Working in WinXP...
I'll try it in Linux as soon as it hits CVS (still fs2_open_3.6.9 branch or the "normal" HEAD Branch?)


taylor (administrator)

I'm behind on getting all of my changes in HEAD, but that's my project for this weekend. I won't get this particular fix in either CVS branch until I get caught up with HEAD commits though.

But it's easy enough to fix yourself. Open code/cutscene/movie.cpp and go to around line 240. You should see a gr_clear(), gr_flip(), gr_clear() sequence. Add an extra gr_flip() and gr_clear() call after that, it will then catch all 3 buffers. :)


ARSPR (reporter)

It seems fixed. Good work.


taylor (administrator)


+Related Changesets

-Issue History
Date Modified Username Field Change
2007-01-02 07:48 Mr_Maniac New Issue
2007-01-02 11:53 taylor Note Added: 0007367
2007-01-02 11:54 taylor Status new => assigned
2007-01-02 11:54 taylor Assigned To => taylor
2007-01-02 15:32 Mr_Maniac Note Added: 0007372
2007-01-03 09:54 Mr_Maniac File Added: Video.png
2007-01-03 09:56 Mr_Maniac Note Added: 0007374
2007-01-03 10:01 Mr_Maniac Note Edited: 0007374
2007-01-03 15:46 taylor Note Added: 0007376
2007-01-03 15:46 taylor Relationship added has duplicate 0001194
2007-01-03 16:01 ARSPR Note Added: 0007379
2007-01-03 16:01 ARSPR Note Edited: 0007379
2007-01-03 16:03 ARSPR Note Edited: 0007379
2007-01-04 13:07 Mr_Maniac Note Added: 0007382
2007-01-05 00:03 taylor Note Added: 0007390
2007-01-05 23:08 taylor Note Added: 0007397
2007-01-06 07:33 Mr_Maniac Note Added: 0007403
2007-01-06 08:20 taylor Note Added: 0007404
2007-01-06 13:31 ARSPR Note Added: 0007405
2007-01-07 08:14 taylor Status assigned => resolved
2007-01-07 08:14 taylor Fixed in Version => 3.6.9
2007-01-07 08:14 taylor Resolution open => fixed
2007-01-07 08:14 taylor Note Added: 0007413
2012-01-05 17:55 taylor Changeset attached => Import 2012-01-05 17:52:05 trunk r3848
2012-01-09 13:06 taylor Changeset attached => fs2open_websvn trunk r3848
+Issue History