bpatrik / pigallery2

A fast directory-first photo gallery website, with rich UI, optimized for running on low resource servers (especially on raspberry pi)
http://bpatrik.github.io/pigallery2/
MIT License
1.74k stars 204 forks source link

How to use GPU acceleration? For example, Nvidia? Can GPU be used to accelerate image display? Currently, the display speed for high-resolution images is a bit slow.. #788

Open leeyonwang opened 9 months ago

leeyonwang commented 9 months ago

How to use GPU acceleration? For example, Nvidia? Can GPU be used to accelerate image display? Currently, the display speed for high-resolution images is a bit slow..

bpatrik commented 9 months ago

You need faster disk and network for that. Or your machine that you run the browser in needs hardware acceleration.

-- Sorry for being brief, sent from my phone.

On Tue, 28 Nov 2023, 14:06 leeyonwang, @.***> wrote:

How to use GPU acceleration? For example, Nvidia? Can GPU be used to accelerate image display? Currently, the display speed for high-resolution images is a bit slow..

— Reply to this email directly, view it on GitHub https://github.com/bpatrik/pigallery2/issues/788, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABZKA5WZLSQ5S4AKCVKACCTYGXOVVAVCNFSM6AAAAAA75XLAJKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGAYTIMZZG44TGOA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

tschaerni commented 7 months ago

You need faster disk and network for that. Or your machine that you run the browser in needs hardware acceleration. Sorry, but that sounds a bit like a lame excuse.

I have a large gallery of around 900GB with some quite high resolution images.

I noticed that:

So in summary: My setup is capable of reading (and writing) over 1GByte per second over the network. If I download an image over pigallery2 it's instant, even if the image is 20-30MB big. But opening up multiple tabs to stress test it, I only see 200-300% CPU load at most from the node process.

Maybe sounds a bit harsh, but I just want to give some constructive feedback as I actually really like pigallery2 and it's concept. It just seems like your software can be improved quite a bit, as throwing more hardware at the problem doesn't seem to work.

PS: yes I also tried different browsers, same behaviour.

bpatrik commented 7 months ago

You need faster disk and network for that. Or your machine that you run the browser in needs hardware acceleration. Sorry, but that sounds a bit like a lame excuse.

My understanding on the original question is that displaying the image on the client side is slow. That is limited by client side resources and server side upload speed, hence my answer.

if I open a picture in the browser it displays the preview/thumbnail for multiple seconds, and only after that, it starts loading the image, and network traffic peaks at around 2-3MBit.

my guess is that you did not pre-generated all thumbnail/converted photo sizes. App does not load the original image by default for performance reasons. It only loads original on zoom (subject to settings). If the full preview image is not generated, it will do it on the fly. That can take up 1-2s. Once you full preview size of a photo is generate it should load instantaneously. If you click on the autoplay, It wont go to the next image until the next full size image is available on the client side, so there is 0 wait time.

Im talking about this:

kép kép

Your hardware is far more powerful for the app. I did not have loading time on a RP 4 through 1MB/s internet network.