Comments (5)
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.
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.
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.
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.
+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)
- Immich Server preferred language setting option not stored correctly
- Greek font rendering incorrectly in Immich Mobile App
- Issues with smart search and facial recognition HOT 2
- Android App Crashes when sliding on a video. HOT 30
- Port 2283 not listening post update to 1.106.4
- Immich v1.106.4 logout issue - iOS HOT 1
- Generate Thumbnails -> Missing let immich crash HOT 4
- Error in log
- External library owned by a non admin, cannot update featured photo of people
- iOS 18 HEIC Images - Thumbnail Generation Fails HOT 30
- server error when deleting a user HOT 7
- .mp4 file from WhatsApp: Error: ffmpeg exited with code 1: Conversion failed!
- Inefficient Thumbnail generation for external libraries HOT 4
- Bug in the date format when you want to edit the date and time HOT 1
- Errors in Immich logs, Smart search and face detection not working
- Recoded video - rotation wrong HOT 1
- no grace period when sending email notifications
- Server does not start after upgrade
- highlight photo to keep
- Attempting to finish incomplete move Failed, some files were missing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from immich.