자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Firemonkey 스크롤박스 버벅현상 개선방법
2014.06.28 18:49
안녕하세요.
계속해서 스크롤박스의 버벅현상에 대해 말씀을 드리게 되네요 ^^..
XE5 가 심해서 현재는 스크롤이 개선됬다고 하는 XE6으로 업그레이드해서 개발중입니다.
XE5 에 비해 좀 더 부드러워진것은 사실이나, 좀만 컨트롤들이 배치되면 스크롤시 버벅거리네요.
스마트폰 특성상, (상하단)스크롤을 많이 사용하게 됩니다.
물론 네이티브 앱처럼 완전히 부드러울수는 없지만,,
Image컴포넌트 7개 Label 컴포넌트 30개 Rectangle 7개만 가지고도 스크롤을 하게 되면
자연스럽지가 않습니다.
물론 좀 더 많은 컨트롤들을 배치해야하지만, 자연스럽지못한 스크롤때문에 망설여지네요.
확실히 컴포넌트가 점점 늘어나게되면, 버벅현상이 더 커지고 있습니다.
이에, 개선을 좀 하고 싶은데요..
제가 찾은
첫번째 방법은 이미지를 사용할때 TImage 를 안쓰고 TRectangle 의 Bitmap 을 이용해서
이미지를 표현하는 방식입니다.
그런데 이때에, TImage 는 투명색을 지정해서 투명색은 화면에 안보이게 하는 기능이있는데
TRectangle 에는 없더군요 .. 이걸 TRectangle로 구현하는 방법이 있을까요?
아이건..해보니 되는군요..(PNG파일을 만들어로 로딩하면 해결됩니다)
두번째방법은 Label 컴포넌트를 대신할 방법이 있는지요?
화면을 꾸미게 되면, Label 을 많이 쓰게 되는데, 특히 스크롤할때에는 컴포넌트 개수에 따라
버벅현상에 영향을 주무로, Label 을 안쓰고 Canvas.TextOut 같은 것으로 대체할 수 있는지요?
세번째방법은 스크롤속도를 개선하는 방법입니다.
현재 마우스터치로 인한 스크롤이 다른앱들이 비해 상당히 느린편입니다.
스크롤 속도를 조절할 수 있는 방법이 있을까요?
현재 XE6을 상용앱 개발중인데,, 스크롤부분이 너무 신경쓰입니다.
버벅거리는 앱은 바로 서비스품질 저하로 이어지기 마련이죠..
미국본사측에 개선 방안등을 다른어떠한 방법으로든..을..
얻을 수 있을까요?..
부탁드리겠습니다.
댓글 3
-
Humphery
2014.06.30 19:16
-
가을이다
2014.06.30 20:38
ListView 는 아이템간의 Height 이 일정해서, 자유롭게 디자인된 화면을 적용하기 힘듭니다. (Height 높이가 일정하지 않은..)
일정한 패턴을 표현할때만 가능할 것 같습니다.
그리고 Label 보다 TText 를 이용하는것이 자원소비를 덜하게 되나요?
이미지를 표현할때는 TImage보다 TRectangle 이 자원소비가 덜하다고해서 TRectangle을 사용하고 있습니다.
-
가을이다
2014.07.01 19:28
아래와 같은 방법으로 스크롤시, 버벅거림을 상당히 해소하였습니다.
참고하세요!
이미지 표현을 TImage 를 안쓰고 TRectangle의 Bitmap 을 사용한다
글씨표현을 TLabel 을 안쓰고 TText 를 사용한다
Firemonkey 스크롤박스 버벅현상 개선방법
2014.06.28 18:49
안녕하세요.
계속해서 스크롤박스의 버벅현상에 대해 말씀을 드리게 되네요 ^^..
XE5 가 심해서 현재는 스크롤이 개선됬다고 하는 XE6으로 업그레이드해서 개발중입니다.
XE5 에 비해 좀 더 부드러워진것은 사실이나, 좀만 컨트롤들이 배치되면 스크롤시 버벅거리네요.
스마트폰 특성상, (상하단)스크롤을 많이 사용하게 됩니다.
물론 네이티브 앱처럼 완전히 부드러울수는 없지만,,
Image컴포넌트 7개 Label 컴포넌트 30개 Rectangle 7개만 가지고도 스크롤을 하게 되면
자연스럽지가 않습니다.
물론 좀 더 많은 컨트롤들을 배치해야하지만, 자연스럽지못한 스크롤때문에 망설여지네요.
확실히 컴포넌트가 점점 늘어나게되면, 버벅현상이 더 커지고 있습니다.
이에, 개선을 좀 하고 싶은데요..
제가 찾은
첫번째 방법은 이미지를 사용할때 TImage 를 안쓰고 TRectangle 의 Bitmap 을 이용해서
이미지를 표현하는 방식입니다.
그런데 이때에, TImage 는 투명색을 지정해서 투명색은 화면에 안보이게 하는 기능이있는데
TRectangle 에는 없더군요 .. 이걸 TRectangle로 구현하는 방법이 있을까요?
아이건..해보니 되는군요..(PNG파일을 만들어로 로딩하면 해결됩니다)
두번째방법은 Label 컴포넌트를 대신할 방법이 있는지요?
화면을 꾸미게 되면, Label 을 많이 쓰게 되는데, 특히 스크롤할때에는 컴포넌트 개수에 따라
버벅현상에 영향을 주무로, Label 을 안쓰고 Canvas.TextOut 같은 것으로 대체할 수 있는지요?
세번째방법은 스크롤속도를 개선하는 방법입니다.
현재 마우스터치로 인한 스크롤이 다른앱들이 비해 상당히 느린편입니다.
스크롤 속도를 조절할 수 있는 방법이 있을까요?
현재 XE6을 상용앱 개발중인데,, 스크롤부분이 너무 신경쓰입니다.
버벅거리는 앱은 바로 서비스품질 저하로 이어지기 마련이죠..
미국본사측에 개선 방안등을 다른어떠한 방법으로든..을..
얻을 수 있을까요?..
부탁드리겠습니다.
댓글 3
-
Humphery
2014.06.30 19:16
-
가을이다
2014.06.30 20:38
ListView 는 아이템간의 Height 이 일정해서, 자유롭게 디자인된 화면을 적용하기 힘듭니다. (Height 높이가 일정하지 않은..)
일정한 패턴을 표현할때만 가능할 것 같습니다.
그리고 Label 보다 TText 를 이용하는것이 자원소비를 덜하게 되나요?
이미지를 표현할때는 TImage보다 TRectangle 이 자원소비가 덜하다고해서 TRectangle을 사용하고 있습니다.
-
가을이다
2014.07.01 19:28
아래와 같은 방법으로 스크롤시, 버벅거림을 상당히 해소하였습니다.
참고하세요!
이미지 표현을 TImage 를 안쓰고 TRectangle의 Bitmap 을 사용한다
글씨표현을 TLabel 을 안쓰고 TText 를 사용한다
두번째 방법은 TText를 사용하시면 어떨까 싶습니다.
세번째 방법은 TListView를 사용하시면 스크롤 속도를 개선하실 수 있습니다.
만약 기본으로 제공되는 항목 이외의 내용으로 TListViewItem을 사용하실 경우
(C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\Object Pascal\Mobile Samples\User Interface\ListView)
위의 샘플 경로의 프로젝트를 참고하셔서 추가하실 수 있습니다.