KurtBestor / Hitomi-Downloader

:cake: Desktop utility to download images/videos/music/text from various websites, and more.
21.2k stars 1.98k forks source link

프로그램 개선안 건의 #4571

Open himan250 opened 2 years ago

himan250 commented 2 years ago

안녕하세요 프로그램 속도 개선 안이 있어 건의 드립니다.

다운받은 갯수가 2만건이 다되어가니 컴퓨터 성능이 좋은것과는 무관하게 프로그램이 너무 무거워졌습니다. 해서 생각한 방안이 있는데요

프로그램은 사용자가 받은내용을 종합해서 cache_imgs.db와 hitomi_downloader_GUI.ini에 썸네일, 작가정보, 이미지파일정보 등등 모든걸 기록하는것같습니다. (맞나요?^^;) 지금 리스트에 갯수가 18670건을 찍는중에 ini파일용량을 보면 2.5기가가 넘네요.

문제점

  1. 스크롤시 매우 버벅임
  2. 픽시브를 예로들면 신규 이미지가 올라왔을시 새로시작을 눌러 갱신하는데 몇백건을 한번에 동시에 시작하면 프로그램 응답시간이 너무 길고 다운받기시작하면 다른걸 못할정도로 무거워짐. 예를들어 다운받는중에 검색기 사용, 스크롤 탐색 등등

해서 두가지 방법을 생각해봤습니다.

  1. 사용자가 원하는 목록만 선택해서 개별적인 db로 내보내면 사용자는 이 db를 이용해 자기가 저장한 원하는 목록만을 불러오게 한다. 이러면 한결 가벼워 지겠죠?

  2. 프로그램 수정이 복잡하다면... 사용자가 수작업으로라도 db를 따로 관리할수있게 프로그램 중복실행이 되게 만든다 이러면 기존의 거대한 db를 미리 다른곳에 백업해놓고 나누고 싶은 목록들을 삭제/저장하면서 db파일을 따로 만든다. 그리고 미리 복사해놓은 히토미 다운로더가 있는 여러 폴더에 각각의 나눠진 db파일을 넣어 관리한다. 이러면 원하는 db가 있는 다운로더들을 실행하면 되겠죠? 컴 성능만 조금 따라주면 다운로더를 중복실행시켜 db자원이 나누어져서 각각 실행된 프로그램도 한결 가벼워질거라 생각합니다. 중복실행을 했을때 생길수있는 문제들이 있을수 있다고 생각되지만....ㅜㅜ

KurtBestor commented 2 years ago

cache_imgs.db중복 이미지 찾기 에서 이미지 정보 캐시 를 켜고 검색하면 생기는 파일이고, hitomi_downloader_GUI.ini 에는 썸네일을 포함한 나머지 모든 설정들이 기록되어있어요

  1. 현재 모든 작업을 한 번에 로드하지는 않고, 작업이 화면에 보이거나 다운로드 시작할 때 등 필요할 때마다 INI 에서 작업 읽어오고 있어요. 참고해주세요: https://github.com/KurtBestor/Hitomi-Downloader/issues/3613
  2. 일부 작업 선택해서 작업 - 선택된 작업들 내보내기... 눌러서 내보낼 수 있어요. 다른 경로에 있는 실행 파일은 중복 실행 가능해요. 하지만 일부 기능 (브라우저로 보기, HTTP API, 토렌트 마그넷 등) 에 문제가 생길 수 있어요

DB 파편화로 인한 속도가 문제라면 Ctrl + Alt + D 눌러서 DB 최적화할 수 있어요

himan250 commented 2 years ago
  1. 레이지 로딩이라는거네요. 끄니까 메모리 점유율은 상당해졌지만 스크롤속도는 많이 개선됐어요

DB최적화는 크게 효과가 없었습니다.

2번은 확실히 유용한 기능이네요^^