지피티한테 물어보니까 캔버스 내용물이 하나라도 변경사항이 있으면 전체가 리렌더링 되기 때문에 동적인 ui는 캔버스를 별도로 분리하는게 좋다고 하는데
예를들어 RPG게임에서 상점, 인벤토리, 퀘스트로그, 스테이터스, 환경설정창등 상당수가 동적인 ui잖아 이런것들은 하나하나 다 별개의 캔버스로 구현하나? 아니면 이중에서도 상대적으로 변동요소가 적은 녀석들은 재주껏 묶어서 사용하면 되나
예를들어 RPG게임에서 상점, 인벤토리, 퀘스트로그, 스테이터스, 환경설정창등 상당수가 동적인 ui잖아 이런것들은 하나하나 다 별개의 캔버스로 구현하나? 아니면 이중에서도 상대적으로 변동요소가 적은 녀석들은 재주껏 묶어서 사용하면 되나
저도 궁금함 빨리 답글 달아줏메
완성 몇개 해봤는데 캔버스 하나로 다 만들어도 됨 렌더링 비용 얼마 안먹는다 - dc App
지피티 호들갑 ㅈ되네 ㄱㅅㄱㅅ
나는 캔버스 꽤 많이 나누는 편임. 정확한 벤치마크는 안해봤지만, 예전에 길게 스크롤가능한 카드 리스트가 여러개 탭으로 있는데, 그걸 다 하나의 캔버스에 밀어넣고 빌드했더니 모바일환경에서 UI움직일때 프레임드랍이 미친듯이 일어나는 현상을 겪은 적 있음. 호들갑을 떨 것 까진 아니지만, 모든 UI를 하나에 다 밀어넣는건 좋은 생각이 아님.
이런경우 근본적으로 해결하려면: 보통 웹브라우저는 스크롤 영역밖에 나간게 아예 없는 오브젝트마냥 다뤄지는 최적화가 적용됨 유니티는 그런거 없어서 카드 몇개가 스크롤 영역밖으로 나가고 나면 다시 아래에 나와서 재활용되는 최적화 스크롤을 만들면 됨 - dc App
난 모든 팝업이 별개의캔버스임
단일캔버스 하나가 커지면 커질수록 분리하는게 더 이득임. 어지간한 팝업단위로 묶어도 크게 손해보지는 않으니 적당히 분류해서 나눠도 됨.
나누는데에 별 번거로움이 없어서 배운대로 나누는데
캔버스에 많이 그릴수록 개 느려짐. 팝업 많고 뎁스 늘어날 수록 분리 하는게 이득이니 나누는게 나은데, 대규모 게미 아니면 앵간하면 안느려짐..
난 기능 하나당 캔버스 하나 라는 느낌으로 함