C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[35152] [질문] 많은 수의 컨트롤에 Parent를 지정할 경우 속도가 느립니다.
홍환민.행복 [hhshhm] 715 읽음    2004-05-23 15:39
[질문] 많은 수의 컨트롤에 Parent를 지정할 경우 속도가 느립니다.


한꺼번에 많은 수의 컨트롤들에게 부모(Parent)를 지정해 주게 되면,
각 컨트롤들이 화면에 나타나는 과정이 보일 정도로 느립니다.

일단 아래는 테스트해 볼 수 있는 소스입니다.

procedure TForm1.Button1Click(Sender: TObject);
var
  d:DWORD;
  t: TButton;
  i: Integer;
begin
  d:=gettickcount;
  for i:=0 to 1000 do
  begin
    t:= TButton.Create(Self);
    t.Parent := Self;
  end;
  showmessage(inttostr(gettickcount-d));
end;

Parent 속성을 지정하는 부분을 디버깅 해보니, Parent 속성을 지정하는 내부 동작이
생각보다 간단하지 않더군요. 그래서 느린 듯 합니다.

특히 Parent가 TCustomForm일 경우.. UpdateShowing()이 호출되는데 이 안에서
또 자신의 모든 자식 컨트롤들의 UpdateShowing()을 호출합니다.

머 이런 식의 부분들 때문에 한꺼번에 많은 수의 컨트롤에게 Parent를 지정하게 되면
상당히 느립니다.

저 같은 경우에 이 부분이 꼭 필요한데... 속도를 높일 수 있는 방법이 없을까요?

행복하세요.

+ -

관련 글 리스트
35152 [질문] 많은 수의 컨트롤에 Parent를 지정할 경우 속도가 느립니다. 홍환민.행복 715 2004/05/23
35156     [참조] 많은 수의 컨트롤에 Parent를 지정할 경우 속도가 느립니다. 김상면 851 2004/05/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.