문제

코드가 있습니다.

l1 = clutter.Label()
l1.set_position(100,100)
for i in range(0,10):
    l1.set_text(str(i))
    time.sleep(1)

화면에서 클러 터로 1 ~ 10 초의 수를 표시하도록 설계되었지만 이상한 오류가 발생합니다. 스크립트를 정상적으로 실행하면 화면이 해야하는대로 실행되지만 10 초가 올라갈 때까지 텍스트가 표시되지 않습니다. 그러나 PDB의 중단 점으로 실행하면 텍스트가 잘 나타납니다.

프로그램 시작시 이상한 오류가 발생합니다.

do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try adjusting the vlank_mode configuration parameter.

그러나 그것이 왜 그것이 브레이크 포인트에서 코드에 영향을 미치는지에 영향을 미치는 이유를 알지 못합니다.

모든 도움은 대단히 감사하겠습니다.

도움이 되었습니까?

해결책

이미 이것에 대한 답을 알아 냈는지 확실하지 않지만 :

이 문제를 겪는 이유는 시간이 시간에 메인 스레드 (모든 도면이 발생하는 곳)를 차단하기 때문에 라이브러리가 화면을 다시 그리기하지 못하게하기 때문입니다.

예를 들어 코드가 현재 수행 중입니다.

  1. 클러 터가 화면을 다시 그리기합니다.
  2. 10 초에 걸쳐 고리하고 텍스트를 10 번 변경합니다.
  3. 클러 터가 화면을 다시 그리기합니다.

타이머에 무언가를 대기하고 싶다면 조사해야합니다. gobject.timeout_add.

다른 팁

당신은 시도 했습니까? 전기 (또는 수색) 클러 터 메일 링리스트에서? 여기예를 들어 DRMWAITVBLANK에 대해 같은 메시지를받은 사람입니다.

내 생각에 대부분의 사람들은 혼란 문제를 해결하는 데 익숙하지 않을 것입니다. 나는 내가 아니라는 것을 안다 :)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top