:: 게시판
:: 이전 게시판
|
- PGR21 관련 질문 / 의견 / 건의 / 버그 제보 글을 올려주세요.
- 운영진에게 직접 쪽지를 보내시는 것 보다 빠르게 답변을 받으실 수 있습니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
15/04/11 00:26
1.
계층 댓글의 구성 속도에 대해서는 인지하고 있고, 문제가 무엇인지도 알 것 같습니다. UI reflow가 자주 일어나는 게 문제인데요. 원래 웹 브라우저에서 엘리멘트의 위치가 변경되는 일은 가급적 없어야 합니다. 그런데 현재 계층 댓글 구조에서는 댓글 엘리멘트가 위에서 아래 순서로 붙지 않고, 댓글이 작성된 시각 순서로 붙더군요. 이러면 렌더링할 때 댓글을 하나씩 붙여 나갈 때마다 그 댓글 아래에 있는 댓글들의 위치가 이동하므로 reflow가 엄청나게 자주 일어나고, 당연히 렌더링 성능에 좋지 않습니다. 그래서 현재 PGR21 게시판은 댓글이 300개만 넘어가도 위태위태하죠. 이걸 해결하는 것은 비교적 간단합니다. 데이터베이스에서 읽은 댓글을 바로 표시하지 말고, 삽입될 위치를 미리 계산해서 배열에 계층 댓글 구조를 만들어 두고, 순차적으로 추가하면 됩니다. 이 일을 안 하고 있는 이유는... 현 게시판이 너무 좋아지면 제가 새 게시판을 개발할 동인이 떨어질 것 같아서요. ㅠㅠ 그런데 지금 새 게시판 개발도 중단된 상태죠. 원래 파이선으로 만들려다가 러스트 때문에 파이선에 대한 애착이 떨어져서 진퇴양난 중이거든요. 그래서 그냥 댓글 성능 개선 정도는 조만간 해버릴까 생각 중입니다. 사실 저도 지속적으로 이것 때문에 짜증을 겪고 있거든요. 2. 실시간 불판의 경우 작년부터 제 관심사였고 계획도 몇 가지 있습니다. 예를 들어 '댓글'처럼 보이게 할 것인가, 아니면 '채팅'처럼 보이게 할 것인가죠. 댓글처럼 보인다면 일단 메시지들 사이에 계층이 있어야 하고, 새로 쓰는 메시지가 항상 맨 아래에 붙는 게 아니라 (이미 스크롤이 올라간) 윗쪽에 붙을 수도 있다는 말이 됩니다. 실시간성과는 약간 맞지 않을 수도 있다고 생각합니다. 그런데 완전히 채팅으로 가면 지금의 약간 정제된 느낌의 불판 댓글이 가벼워지지 않을까 걱정이기도 합니다. 물론 이 정제된 느낌이 불필요하다면 그냥 채팅 방식으로 가는 게 옳겠죠. 또는 절충안으로 '엔터를 포함할 수 있는 채팅', 즉 엔터 쳤을 때 채팅이 바로 나가는 게 아니라 현행 쪽지 시스템처럼 텍스트 상자에 내용이 쌓이고, 추가적으로 버튼을 눌렀을 때 메시지가 가서 붙는, 단 계층은 없는 시스템을 생각해 본 적이 있습니다. 이러한 시나리오들 모두 웹 소켓 자체로 인한 기술적 허들은 동일합니다. 그냥 사용자 인터페이스(와 그로 인한 문화)가 달라질 뿐이죠. 제가 결단력이 부족해서 이 부분은 회원(및 운영진)들이 논의해 보았으면 좋겠다고 생각합니다.
15/04/11 11:40
답변 감사합니다.
제 의견을 읽어주시고 상세히 답변을 주신 것으로 충분히 만족합니다. 1번 부분은 말씀하신대로 JS를 통해 UI를 재구성 하는 것이 본질적인 문제입니다. 이전에는 신경을 쓰지 않아도 될 정도로 속도에 문제가 없었기 때문에, 브라우저가 레이아웃을 재계산하는 부담이 그리 크지 않았던 것 같다고 생각하고 있습니다. 하지만 최근 어떤 변화로 인해 그 부담이 늘어났고 그 결과 느려진 것 같습니다. 그래서 그 원인을 찾을 수 있다면 해결도 가능하지 않을까 싶어 말씀드려봤습니다. 피지알이 여전히 형싱관리 시스템을 사용하고 있지 않다면 그걸 추적하는 것도 쉽지 않을테고, 문제가 되는 부분을 찾았다 하더라도 분석해서 해결책을 찾는 것은 쉽지 않으시겠지요. 랜덤여신님이 작성한 코드도 아니니까요. 근데 기존 DB를 마이그레이션 하는 것도 쉽지 않은 일이라 새 게시판으로 넘어가는게 짬내어서 할 수 있는 정도의 일인가 하는 생각이 들기도 합니다.
15/04/11 15:42
3/29 이전입니다.
제가 증상을 최초 목격했던 때가 25일에서 29일 사이 쯤이었을 것 같습니다. https://pgrer.net/?b=23&n=4019&c=11525 이 댓글을 작성했기 때문에 기억하고 있습니다.
|