diff options
| author | DH4 | 2017-06-05 04:54:58 -0500 |
|---|---|---|
| committer | DH4 | 2017-06-05 04:54:58 -0500 |
| commit | be18deece5843ac8d2c7af64704e3fb360a05a25 (patch) | |
| tree | 0e0f49cf8661fe45e3f6bc647bf121d97c116cbe /video_thread.py | |
| parent | e58a1d0b2d499aca72af8472ec33c02580d2dffd (diff) | |
Performance Tuning. FIXME: Video component frames are rendered out of order. Video component creates a severe performance bottleneck.
Diffstat (limited to 'video_thread.py')
| -rw-r--r-- | video_thread.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/video_thread.py b/video_thread.py index 0542bc2..ac4162c 100644 --- a/video_thread.py +++ b/video_thread.py @@ -37,20 +37,19 @@ class Worker(QtCore.QObject): def renderNode(self): while not self.stopped: i = self.compositeQueue.get() - - frame = Image.new( - "RGBA", - (self.width, self.height), - (0, 0, 0, 0) - ) + frame = None for compNo, comp in reversed(list(enumerate(self.components))): if compNo in self.staticComponents and self.staticComponents[compNo] != None: - frame = Image.alpha_composite(frame, self.staticComponents[compNo]) + if frame is None: + frame = self.staticComponents[compNo] + else: + frame = Image.alpha_composite(frame, self.staticComponents[compNo]) else: - frame = Image.alpha_composite(frame, comp.frameRender(compNo, i[0], i[1])) - - # frame.paste(compFrame, mask=compFrame) + if frame is None: + frame = comp.frameRender(compNo, i[0], i[1]) + else: + frame = Image.alpha_composite(frame, comp.frameRender(compNo, i[0], i[1])) self.renderQueue.put([i[0], frame]) self.compositeQueue.task_done() @@ -98,6 +97,7 @@ class Worker(QtCore.QObject): ffmpegCommand = [ self.core.FFMPEG_BIN, + '-thread_queue_size', '512', '-y', # (optional) means overwrite the output file if it already exists. '-f', 'rawvideo', '-vcodec', 'rawvideo', |
