GithubHelp home page GithubHelp logo

Comments (5)

alextran1502 avatar alextran1502 commented on July 22, 2024 7

The issue is the way we currently use to initial rendered, which we will need to fetch all data from the server in chunk, parse them all then render. We are working towards a refactor to fetch then render then fetch then render to help with the initial "blank state" on slow network

from immich.

AlmightyFrog avatar AlmightyFrog commented on July 22, 2024

I have some more assets in my library (about 180000 in total) and can also confirm that startup time sometimes is all over the place.

What I want to add is, that maybe not pure network connection is the issue as i have same issue when being at home in my 5 GHz WLAN just few meters away from accespoint.

Sometimes load feels like instant, mostly it takes a few seconds, but sometimes it also takes at least a minute. I then switch to use the webinterface in browser on same smartphone which shows pictures instant with no delay.

My guess would be my home server might cause the bottleneck but not sure where, as it is not a banana but also not top tier and mostly idleing:

  • i5-7500
  • 32 GB RAM in total; RAM used by immich currently is machine learning uses 800 MB, microservices 1.3 GB, postgres 2,7 GB, redis 30 MB and server 350 MB; still about 15 GB RAM free so can't be the issue.
  • gigabit lan
  • OS, assets and database on same SSD

Best guess would be postgres is the bottleneck but not sure.

from immich.

justin13888 avatar justin13888 commented on July 22, 2024

I have some more assets in my library (about 180000 in total) and can also confirm that startup time sometimes is all over the place.

What I want to add is, that maybe not pure network connection is the issue as i have same issue when being at home in my 5 GHz WLAN just few meters away from accespoint.

Sometimes load feels like instant, mostly it takes a few seconds, but sometimes it also takes at least a minute. I then switch to use the webinterface in browser on same smartphone which shows pictures instant with no delay.

My guess would be my home server might cause the bottleneck but not sure where, as it is not a banana but also not top tier and mostly idleing:

* i5-7500

* 32 GB RAM in total; RAM used by immich currently is machine learning uses 800 MB, microservices 1.3 GB, postgres 2,7 GB, redis 30 MB and server 350 MB; still about 15 GB RAM free so can't be the issue.

* gigabit lan

* OS, assets and database on same SSD

Best guess would be postgres is the bottleneck but not sure.

Glad to hear I'm not the only one.

Database and library storage may be part of the story but based on my hardware and setup, and the fact that the web app also loads the latest images in the timeline significantly faster than the other images, I'm confident there's definitely room for improvement for the mobile app itself.

For the record, my hardware situation is as follows:

  • CPU: AMD Ryzen 7900X
  • 64 GB DDR5 RAM
  • Storage:
  • 900 Mbps wifi connection

As @AlmightyFrog said, hardware shouldn't be the problem because resources are idling anyways.

Even if I "warmed" up the server by scrolling through the whole timeline, the perceived load speed on the web app on another device is obviously faster for me than that of the mobile app.

A few more observations:

  • After not viewing the libraries for a while, the time to first seeing images is visibly slower on both web and mobile
  • On mobile app, I have medium-quality images loaded first.
  • On web app, it seems to load more images simultaneously than mobile app
  • Mobile app clears out images after moving away in timeline

I have a few hypotheses so far:

  • Server does a poor job caching lower-quality images used for timeline.
  • Mobile app loads a medium-quality image first and so server is blocked by generating the medium-quality image first.
  • Mobile app clears loaded photos prematurely

from immich.

justin13888 avatar justin13888 commented on July 22, 2024

These are a few things I believe should be investigated:

  • Server's caching mechanism of generated assets (e.g. thumbnail, medium-quality images) and original assets
  • Differences between caching of rendered images in web app and mobile app's timeline

For any devs who worked on Immich, would appreciate any guidance or ideas here!

from immich.

SHU-red avatar SHU-red commented on July 22, 2024

+1 for this!

  • At home with connection to server: Immich starts very fast and i like the experience
  • Not at home (e.g. only cellular connection): Immich starts up slow (feeling like it searches for the server for a long time), which is a bit annoying when quickly trying to send a camera snapshot

So i hope (not being a person knowing much about the technical details) the suggestions above include something like:

  • Immich doesnt care if a server is availalble when opened
  • Immich tries to open up the app (?cached? thumbnails, local files) as fast as possible being available for views/shares
  • "In the background" looks concurrently for a server connection and updates the content in chunks

from immich.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.