Page MenuHome

XInitThreads perfomance issue
Closed, ResolvedPublic

Description

On some systems, our usage of XInitThreads() is causing a significant slowdown in viewport playback. On other systems there is no apparent impact.

It is not clear yet why, needs to be investigated. We may be able to remove XInitThreads() if there is a dedicated thread for each drawing context, that other threads can give a job to do their drawing.

Details

Type
Bug

Event Timeline

Brecht Van Lommel (brecht) lowered the priority of this task from Needs Triage by Developer to Normal.Jun 1 2018, 1:02 PM
Brecht Van Lommel (brecht) created this task.

Small update on this one.

On systems that exhibit this issue, it seems that any call to the following functions takes way more time than it should.
glBufferSubData
glBufferData
glMapBuffer
glMapBufferRange

So even updating uniform buffers is taking a long time.

We still need to see if we can reproduce this problem with a small test application.

Here is a test application which demonstrates the issue:

With XInitThreads() i've got 0.68sec for the test, without it it's 0.18sec.

Is this still something we intend to fix?

As I understand it this was solved for @Sergey Sharybin (sergey) by upgrading to a newer kernel/driver.

Sergey Sharybin (sergey) closed this task as Resolved.Dec 20 2018, 3:01 PM
Sergey Sharybin (sergey) claimed this task.

@Brecht Van Lommel (brecht), that wasn't a kernel/driver version. I've re-installed the entire OS and that did fix the slowness. Not sure what exactly solved the issue, but my guess is that some of the alternatives in ht driver libraries went wrong over the years of initial install.

Think it's fine to close the task. Is nothing what we can solve from Blender side anyway. And for now the known case is resolved :)