Comments (7)
It seems that a long time is needed to launch the parallel process
from myphotoshare.
Hi,
I'm going to look at it. I also want to implement "the best from both worlds"; combine both parallel and cascade. Something like this; for each "album" (folder), queue all images that needs thumbnails, and after all the files in that folder is done, start processing the queued objects. For each queue (currently n-1
, where n=number of cores
), do cascade thumbnailing for each image. This would also utilize the cores more efficiently (since the current parallel is limited to the number of thumbnails -- if you have 20 cores, and you only have 150/800/1200/1600px thumbnails, you'd only use 4 cores).
My only concern with cascade, is "JPEG-ification" of the images (i.e. JPEG-artifacts gets worse and worse for each "cascade"). Either way this "redesign" of parallel/cascade would still make it faster than it currently is, even if one disables the cascade (via options/config).
from myphotoshare.
The cascade code doesn't jpeg-ificats any image, because, it works with the internally resized image, and doesn't read any jpg thumbnail from disk.
from myphotoshare.
You still get one more iteration? Not sure if it's visible to the naked eye, though.
Cascade;
Original image --> 1600px
1600px --> 1200px
1600px --> 800px
1600px --> 150px
Non-cascade;
Original image --> 1600px
Original image --> 1200px
Original image --> 800px
Original image --> 150px
from myphotoshare.
?
from myphotoshare.
My point was that you get one extra JPEG-transcode when doing cascade, compared to non-cascade, and in theory this would introduce more JPEG-artifacts.
I'll look into this -- the "combined" mode you already prepared/did should in theory be the fastest, at least once I'm done optimizing it (i.e. figure out why parallel is slow in the first place, and then combine the two).
from myphotoshare.
JPEG-transcode happens when the thumbnail is saved. Every thumbnail is saved once, independently of the method used to generate it
from myphotoshare.
Related Issues (20)
- privacy concerns when showing original image HOT 4
- Allow % characters in `album.ini` files
- same image in different folders generates trouble in search result
- space for folder name not corrected
- social bar: add a button to get the share link copied to clipboard
- Add option to go directly to image fullscreen
- Set cache subfolders number according to media number
- use os.walk to scan directories in TreeWalker.walk() HOT 1
- wrong album caption height
- copy copyright info to reduced size images and thumbnails
- album.ini metadata has trouble with Python 2 when filenames have accented characters HOT 4
- ready for 3.4? HOT 20
- managing stop words in js? HOT 2
- album.ini name in options file HOT 7
- Problems with non-occidental languages? HOT 2
- Roadmap for version 3.5 HOT 3
- Optimization of index files creation HOT 4
- do not generate nor save virtual albums if not needed HOT 6
- Add options to display descriptions
- Bugs when used on iPad or mobile phone HOT 5
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 myphotoshare.