xuzhengyi1995 / Manga_downloader

A Manga download framework using selenium.
620 stars 57 forks source link

New Method Too Slow #87

Closed XXXXXXXXXIII closed 2 years ago

XXXXXXXXXIII commented 2 years ago

Hi, the performance for the new method is very slow when using bookwalker reader, the page would get stuck for half a minute at a time and is completely unresponsive to user input. Is this a known issue? Can it be improved somehow?

Thanks~

XXXXXXXXXIII commented 2 years ago

I'm not sure how exactly the custom chrome was implemented, but it seems like toDataURL() runs much much slower than toBlob() when extracting image from canvas.

xuzhengyi1995 commented 2 years ago

The toDataURL() and toBlob() is calling the same function ImageDataBuffer::EncodeImageInternal when encoding the image, the different thing is toDataURL() is adding a base64 encode, but because we are modifying the code in C++ so we also called this function to encode the image.

I think the things made it slow is recording every step of the drawing and also calculate the hash to make sure we do not save the same page multiple times, there are many implementation much better and could also make this feature much more convenient, but it really need much more time.

PS: I have also tried this on some computers before but it seems not too slow and even be feel no difference with the normal browser.

XXXXXXXXXIII commented 2 years ago

I see, in that case maybe it's caused by the lack of a decent GPU on my machines? I tried pulling the image using javascript on the dev console and even with the base64 encoding it's done in a few seconds.