Skip to content

refactor libvje (remove per-frame thread churn) #441

Description

@game-stop

The parallel region should be moved to vje_fx_apply()

-> keeps thread pool alive for the whole FX chain

#pragma omp parallel num_threads(global_threads)
{
        for (each effect in chain) {
            effect_apply(...); 
        }
}

serial sections must be guarded with #pragma omp single

#pragma omp single
{
    serial_setup();
}

#pragma omp for simd schedule(static)
for (...) { ... }

#pragma omp single
{
    serial_finish();
}
  1. remove "parallel" from all effect-level pragmas (362 hits)
  2. use #pragma omp for / #pragma omp for simd for pixel loops.
  3. guard all serial code with #pragma omp single.

result:

  • faster processing of FX chain

While touching the .C file:

  1. review description
  2. review parameter hints
  3. review beat parameter hints

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions