vtk app CPU usage 100%.

After modify vtkCubeAxesActor TitleText colour,CPU usage 100%.

Set the uniform color and everything is normal

class Callback : public vtkCommand
{
public:
    vtkTypeMacro(Callback, vtkCommand);
    static Callback *New();
    void Execute(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eventId),
                 void *vtkNotUsed(callData));
    vtkRenderWindow *window_;
};
vtkStandardNewMacro(Callback);

void Callback::Execute(vtkObject *vtkNotUsed(caller),
                       unsigned long vtkNotUsed(eventId),
                       void *vtkNotUsed(callData))
{
    window_->Render();
}

int main(int, char *[])
{
    vtkNew<vtkRenderer> renderer;
    vtkNew<vtkCubeAxesActor> cubeAxesActor;
    cubeAxesActor->SetCamera(renderer->GetActiveCamera());
    cubeAxesActor->GetTitleTextProperty(0)->SetColor(0.0, 1.0, 0.0);
    cubeAxesActor->GetTitleTextProperty(1)->SetColor(0.0, 1.0, 0.0);
    cubeAxesActor->GetTitleTextProperty(2)->SetColor(0.0, 1.0, 0.0);
    renderer->AddActor(cubeAxesActor);
    renderer->ResetCamera();
    vtkNew<vtkRenderWindow> renderWindow;
    renderWindow->AddRenderer(renderer);
    renderWindow->SetSize(640, 480);
    vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
    renderWindowInteractor->SetRenderWindow(renderWindow);
    renderWindow->Render();
    renderer->GetActiveCamera()->Zoom(0.8);
    vtkNew<Callback> callback;
    callback->window_ = renderWindow;
    renderWindowInteractor->CreateRepeatingTimer(10);
    renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, callback);
    renderWindowInteractor->Start();
    return EXIT_SUCCESS;
}

Set different colors,CPU usage 100%.

class Callback : public vtkCommand
{
public:
    vtkTypeMacro(Callback, vtkCommand);
    static Callback *New();
    void Execute(vtkObject *vtkNotUsed(caller), unsigned long vtkNotUsed(eventId),
                 void *vtkNotUsed(callData));
    vtkRenderWindow *window_;
};
vtkStandardNewMacro(Callback);

void Callback::Execute(vtkObject *vtkNotUsed(caller),
                       unsigned long vtkNotUsed(eventId),
                       void *vtkNotUsed(callData))
{
    window_->Render();
}

int main(int, char *[])
{
    vtkNew<vtkRenderer> renderer;
    vtkNew<vtkCubeAxesActor> cubeAxesActor;
    cubeAxesActor->SetCamera(renderer->GetActiveCamera());
    cubeAxesActor->GetTitleTextProperty(1)->SetColor(0.0, 1.0, 0.0);
    renderer->AddActor(cubeAxesActor);
    renderer->ResetCamera();
    vtkNew<vtkRenderWindow> renderWindow;
    renderWindow->AddRenderer(renderer);
    renderWindow->SetSize(640, 480);
    vtkNew<vtkRenderWindowInteractor> renderWindowInteractor;
    renderWindowInteractor->SetRenderWindow(renderWindow);
    renderWindow->Render();
    renderer->GetActiveCamera()->Zoom(0.8);
    vtkNew<Callback> callback;
    callback->window_ = renderWindow;
    renderWindowInteractor->CreateRepeatingTimer(10);
    renderWindowInteractor->AddObserver(vtkCommand::TimerEvent, callback);
    renderWindowInteractor->Start();
    return EXIT_SUCCESS;
}

Comment out these three lines. Everything is normal

https://gitlab.kitware.com/vtk/vtk/-/blob/master/Rendering/Annotation/vtkCubeAxesActor.cxx#L1668