커뮤니티 | 큐티/임베디드/큐토피아 | PODO | SDL | 마이크로윈도우 | 리눅스프로그래밍 | 기타 | 포인트순위 | 최근게시물최근게시물 RSS  
korone.net에 다루었으면 하는것은요?
 
 
 
 
 
539
1,131
3,878
4,016,084
  현재접속자 : 85 (회원 0)






배너 신청 문의

 
작성일 : 18-09-17 17:28
[QT/Embedded] setStyleSheet CPU 점유율 누적 문제
 글쓴이 : 뮤즈
조회 : 582   추천 : 0  
안녕하세요
업무상 QT를 처음 접하게 된 완전 초보자인데요
도저히 실마리가 안잡혀 처음으로 질문을 올려봅니다.
현재 제어보드로 DSP 보드를 사용하고 비글본 블랙(BBB)위에 LCD케이프를 올려 BBB와 DSP 232 통신을 주고 받고 있는데요
통신이 정상적일경우 주기적으로 루틴을 실행시키고 이 루틴에서 emit를 이용하여 두가지 신호?함수?를 전달합니다.
아래와 같습니다

        if(ComCheck_Count < 5 ){                   
            emit comstatus_1();
        }
        else if (ComCheck_Count < 10){
            emit comstatus_2();
        }
        else ComCheck_Count=0;

        ComCheck_Count++;
 
이렇게 두 신호를 시그널로 받아 SLOT으로 처리하는 함수가 아래와 같습니다.

void MainWindow::statuscom_1(void)
{   
ui->label_2->setStyleSheet("background-color: rgb(0, 0, 0);");      //black
}
void MainWindow::statuscom_2( void)
{   
ui->label_2->setStyleSheet("background-color: rgb(0, 255, 0);");    //green
}

말그대로 라벨이 주기적으로 점멸을 하며 인디케이터 역할을 하는 간단한 코드인데요
실제로 잘 동작을 합니다.
문제는비글본은 켜둔채로 DSP를 재부팅할때마다 setStyleSheet 라는 함수로 인하여
TOP로 확인해보니 실행파일의 CPU사용률이 점점 증대되고 일정수준 이상이면 터치 동작이
현저히 느려지는 현상이 있습니다.
주석처리하면 당연히 해당현상이 사라지기 때문에 원인을 저 함수로 보고 있는데
 인디케이터 역할을 사용하되 저런 단점을 보완하고자 하는데 고수님들의 조언이 필요합니다.
부탁드립니다!!
잘부탁드립니다



korone 18-09-18 10:32
 
이런 문제는 stylesheet문제가 아니라, emit 를 너무 많이 해서 발생되는 문제입니다.
emit가 너무 많이 발생해서 qt event queue에 너무나 많은 signal event가 누적되어 시스템이 점점 느려집니다.
이를 해결하기 위해서는 다음과 같은 방법을 고려해 볼 수 있습니다.
1. emit 발생 회수를 조절
2. qt event queue를 주기적으로 비우는것(비추천)
 
 

Total 7,026
번호 제   목 글쓴이 날짜 조회 추천
7026 [QT/X11] 우분투에서 만든 프로그램에 한글 입력이 안… 하빈 12-07 44 0
7025 [QT/X11] Qt 한버튼으로 나누기 (1) 장주영 12-07 43 0
7024 [QT/Embedded] Qt 임베디드 플랫폼에서 돌아가도록 windows환… (4) 둣바이… 11-29 135 0
7023 [QT/Win32] 줄바꿈문자(\n) 가 출력됩니다. (2) 지루 11-29 99 0
7022 [QT/Embedded] 터치 스크린 지원 문제 (1) 정양섭 11-29 97 0
7021 [QT/Embedded] QT GUI Application 메뉴에 Combobox 올리는 방법 문… (6) 은빛늑… 11-27 133 0
7020 [QT/X11] Qt 5.6에서 잘 실행 되던게 Qt 5.11로 올렸더니 … (6) devilqoo 11-16 231 0
7019 [QT/Win32] qt 객체 공유 방법 질문합니다! (3) wjdtnwjdtn 11-14 222 0
7018 [QT/Win32] android 개발할때 언어 자바사용하나요? (1) 가나1 11-07 254 0
7017 [QT/Embedded] PYQT Raspberry pi 에서 이와 같은 디자인을 하려… 쿠쿠다… 11-01 222 0
7016 [QT/Win32] QML에서 텍스트가 너무 흐리게 표시되네요 (1) 민토고 10-25 376 0
7015 [QT/Embedded] binary file 수정하는 프로그램 작성 binary file수… (1) 정말모… 10-12 355 0
7014 [QT/Embedded] Qt 라이센스에 관련하여 문의드립니다. (3) 둣바이… 10-10 524 0
7013 [QT/X11] Qt 프로그램 초기 시작 위치를 설정할 수 있나… (3) 둣바이… 10-04 459 0
7012 [QT/Embedded] setStyleSheet CPU 점유율 누적 문제 (1) 뮤즈 09-17 583 0
7011 [QT/Embedded] Qt ui가 변경이 안됩니다. (1) rufks0435 09-14 600 0
7010 [QT/Win32] Qdialog show문제 (1) 삼패르 09-13 506 0
7009 [QT/Win32] QT 컴파일러 질문입니다. RoolRooRal 09-10 547 0
7008 [QT/Win32] Qdialog 프로세스 실행 중 화면에 UI 표시하고 … pyhef2 09-04 541 0
7007 [QT/Embedded] QTextEdit 을 이용한 setText 시, CPU 사용률 증가 … 둣바이… 09-03 625 0
7006 [QT/Win32] Qt로 히스토그램(도수분포형) 그래프를 그려… 2tachi 09-02 522 0
7005 [QT/Win32] qml 관련하여 질문드립니다. 배우러… 08-24 512 0
7004 [QT/Win32] Qwidget에 Qlabel을 추가하여 오버랩시켜 webcam을 … qweret123 08-23 551 0
7003 [QT/X11] 영상이 main 루프에서는 나오는데 thread 에서는… (1) 깨굴 08-17 641 0
7002 [QT/Embedded] QML 에서 shader effect 를 사용할 때... devilqoo 08-10 558 0
7001    [QT/Embedded] QML 에서 shader effect 를 사용할 때... devilqoo 08-24 526 0
7000 [QT/Win32] QT jpg파일을 움직이게 애니메이션효과를 주고… (1) 우준 07-26 845 0
6999 [QT/Embedded] [QT/QML]Image (png파일) 로드하기전 사이즈 체크… (1) 벨제붑 07-20 846 0
6998 [QT/Win32] qt html5 다국어 지원 오닝그 07-10 890 0
6997 [QT/X11] Qprocess로 스트림영상을 QFrame(혹은 다른)에 보… (4) 깨굴 07-05 1067 0
 1  2  3  4  5  6  7  8  9  10    


About korone.net | Copyright 2003 korone.net. All rights reserved.