Jump to content
WnSoft Forums

Image optimization for screen size


Recommended Posts

What about a feature that processes all the images used in a slideshow optimizing them by the size defined in the screen settings (if present)?

This function should examine all the panning/rotation/zoom applied to each image and calculate the optimum size for that image.

I think that this would be really useful, especially when size matters.

Regards. Umberto

Link to comment
Share on other sites

What about a feature that processes all the images used in a slideshow optimizing them by the size defined in the screen settings (if present)?

This function should examine all the panning/rotation/zoom applied to each image and calculate the optimum size for that image.

I think that this would be really useful, especially when size matters.

Regards. Umberto

This facility sounds like a good idea, but I think it would encourage people to start and work with their shows with full-size images, waiting until the show is pretty well finalized before sizing the images, so the sizing algorithm would know the final image size required for each slide. Many problems can be caused by having too many, too-big images, like out-of-memory errors, slow execution, skipping of images when changing slides quickly, and others.

I resize all my images to final size, 1024x768 or whatever before I start to assemble the show, using a batch process in Photoshop or Irfanview. Then, proceed with assembling the show, applying zooms etc. where appropriate, and continuing until the show is complete.

Then, and only then, I select the slides that are zoomed and replace them with appropriately sized images.

Colin

Link to comment
Share on other sites

Colin,

For completeness and for everyone interested, could you explain, in general terms, how you calculate the "appropriate size".

If I zoom to 200% I use an image which is 200% bigger than the "starting size" in pixels on screen if zooming in and the "end size" in pixels on screen if zooming out.

DaveG

Link to comment
Share on other sites

Colin,

I had little experience with PTE, only when working to my latest show. But i sincronized about 200 photos with music.

When I started working to the project I did not know how I had to move each picture. I followed the music path and

tried to adapt pan, rotation and zoom of each picture both to the music and to the picture itself, trying to build a story

with images. When doing that I could not resize all the pictures to the final resolution since I did not know the best

resolution each picture needed due to the effects applied.

So, at the end of the work, I had to watch and re-watch it and decide the best resolution. Many times I exceeded

in resolution because the calculation was too complex (nested panning, rotation and zooming... aaargh!)

I think that a function that is able to perform such boring calculation for me could be useful.

Regards. Umberto

Link to comment
Share on other sites

Umberto,

Only ONE thing affects the optimum resolution - the maximum zoom which an image is subjected.

If it is subjected to 150% zoom then it needs to be 150% bigger than "actual pixels" on screen (ORIGINAL).

If you have a 1024x768 show and your 1024x768 image is subjected to 150% zoom it needs to be 1536x1152.

DaveG

Link to comment
Share on other sites

What about a feature that processes all the images used in a slideshow optimizing them by the size defined in the screen settings (if present)?

This function should examine all the panning/rotation/zoom applied to each image and calculate the optimum size for that image.

I think that this would be really useful, especially when size matters....

Hello Umberto,

I made a similar proposal here, but nobody seemed to be interested in this feature, although it works well with m.objects.

Best regards,

Xaver

Munich

Link to comment
Share on other sites

... it would encourage people to start and work with their shows with full-size images...

Coilin,

This is actually what I would like to do, to develop the shows with full-size images, having a slide show tool which automatically adapts the projects to the actual monitor resolution, and which allows to create exe-files for user defined resolutions. If you ever developed a show for several monitors/projectors with different resolutions, you would like to get rid of the repeated re-sampling business.

Best regards,

Xaver

Munich

Link to comment
Share on other sites

Yes DaveG,

You're right. Maybe there is the case of nested pictures or frames (with the possibility of nesting the zoom),

but the parameter to be considered is only the zoom.

This function could be easier to implement than I tought initially.

Obviously the function should only shrink images and not enlarge them (since I think it's enough

the linear or bilinear interpolation of the GPU for this).

I imagine this behaviour: select a project and specify an output folder.

In this output folder all data sould be copied: audio, project, images and so on (even images not modified

by the algorithm). The need is to isolate the starting data from the optimized data, so I know that the original

is still here and not messed with other optimized things.

After this "migration" to another folder if I wish I can delete the original one and keep only the optimized.

Colin: Yes, as DaveG stated, my wish is exactly to being able to work without worrying about resolution

and optimize only at the end of the process. More freedom for experiments.

Regards. Umberto.

Umberto,

Only ONE thing affects the optimum resolution - the maximum zoom which an image is subjected.

If it is subjected to 150% zoom then it needs to be 150% bigger than "actual pixels" on screen (ORIGINAL).

If you have a 1024x768 show and your 1024x768 image is subjected to 150% zoom it needs to be 1536x1152.

DaveG

Link to comment
Share on other sites

Colin,

For completeness and for everyone interested, could you explain, in general terms, how you calculate the "appropriate size".

If I zoom to 200% I use an image which is 200% bigger than the "starting size" in pixels on screen if zooming in and the "end size" in pixels on screen if zooming out.

DaveG

Hi Dave,

Yes, I work along the lines you have said you use, i.e. multiply the linear size in pixels by the zoom ratio so that at maximum zoom the pixel count contained in the screen image is equal to the non-zoomed images.

Several subsequent posters have tended to agree with the OP in wanting to assemble a show with full-size images, and then have some sort of algorithm that looks at the zoom ratio - if any - of each image, and the required final image size, then automatically resizes every image to its optimum. Sounds good, especially as Xaver says it would facilitate tailoring a given show to different sizes according to the end use.

I can see that, in theory, such an approach would have merit, but practically there are serious objections. Depending on the power of the computer used for the show, handling full-size images at around 20 MB per image (or more) when zooming or panning, and with fast slide changes etc. may well exceed its capability, not to mention running out of RAM and having to use paged memory which ruins any timing requirements.

As an example, consider a medium size show of 150 slides from an 8 MP camera. At full size, each image is 24 MB, and 150 images will use 3,600 MB of memory space. Allowing for the operating system etc. and a sound track, it would be easy to exceed 4GB of memory - the maximum for a 32-bit computer. Reducing each image to 1024*768 pixels resizes the image to under 800 KB and a total show size of a little over 117 MB plus sound - a far easier load for the computer.

It doesn't take a rocket scientist's education to see the inherent problems in working with full size images. Of course, one could reduce the images to some intermediate size, wich may be a partial answer, but I still think the approach is flawed.

Just a quick remark here: regardless of whether the images are jpegs or other formats, in memory the image expands to occupy its full size. The 24 MB images mentioned above may well be only about 3 MB as a jpeg, but they will each occupy the full 24MB in memory.

Colin

Link to comment
Share on other sites

Colin,

It is obvious that each step must be performed with the knowledge of what we are doing.

I know that if I take RAW images ad use them in a slideshow I will suffer memory problems.

I know that PTE was designed to be resolution independent, this is a great thing and I love it.

I noticed that my machine can handle 4-5 full resolution images with a decent smoothness,

and I use them when designing the slideshow.

I also know that the final output of my work will go on a 1024x768 digital projector,

so I need to optimize all pictures to gain the best performance on the output device I know I'll use.

I like the idea to work resolution independent (and to keep the resolution independent project

safe, so when new projectors will come and new hardware will come, I'll be ready for them).

But I also like the idea that PTE can help me to optimize at pixel level all files, and that I can

trust its algorithms and I know that this is the best optimization. All with a single click.

As I said, everything needs our head to decide what to do and how to do, but when automation

is possible I welcome it. :)

Regards. Umberto.

(...)

As an example, consider a medium size show of 150 slides from an 8 MP camera. At full size, each image is 24 MB, and 150 images will use 3,600 MB of memory space. Allowing for the operating system etc. and a sound track, it would be easy to exceed 4GB of memory - the maximum for a 32-bit computer. Reducing each image to 1024*768 pixels resizes the image to under 800 KB and a total show size of a little over 117 MB plus sound - a far easier load for the computer.

(...)

Link to comment
Share on other sites

  • 3 months later...

I would like to update this topic adding a consideration.

Since in "Project Options/Screen" tab there is a "Fixed size of slide" checkbox,

in the case of setting it, the picture optimization algorithm should be used

in EXE creation sequence. So I can produce different EXEs with different resolutions

(and file size and so on) only by changing the "Virtual size of slide" parameters.

If I check the "Fixed size of slide" checkbox, the screen resolution

will be always the one set in the "Project options", bigger images are useless

(of course the algorithm must consider the maximum zoom level used for each

picture, even nested zoom levels)

This solution should let everybody happy :)

Regards... Umberto

Link to comment
Share on other sites

Umberto,

I'm not sure if I fully understand your statement, but producing multiple shows to cater for different screen resolutions does not work for me as well as making one show which fits all resolutions and screen sizes.

JPD has demonstrated this approach and I would urge you to look at it.

I am, in the main, using 1920x1200 images and making all shows fit all screen resolutions. I would be a lot happier if I could restrict the upper limit of the screen resolution shows are viewed on.

DaveG

Link to comment
Share on other sites

Umberto,

I'm not sure if I fully understand your statement, but producing multiple shows to cater for different screen resolutions does not work for me as well as making one show which fits all resolutions and screen sizes.

JPD has demonstrated this approach and I would urge you to look at it.

I am, in the main, using 1920x1200 images and making all shows fit all screen resolutions. I would be a lot happier if I could restrict the upper limit of the screen resolution shows are viewed on.

DaveG

My main need in this topic is to reduce the computing power/size needed to project the show.

Large images need more computing power to gain the same framerate, also if the screen resolution has been locked.

In my last show I reduced all images to the right size for a 1024x768 projection (considering also zooming levels and so on)

but it's really annoying and I would like to get the same optimization without manual effort.

I don't want to force anybody to rescale their pictures in the show if they don't want to, but an option

for getting this result would be welcome (at least, by me).

So the suggestion was to being able to activate such optimization maybe with switching the fixed resolution

parameter and, if you like, by one more flag.

I want to emphasize that the optimization algorithm should not resize the original pictures,

but only the one inserted into the final EXE. No resized picture will be left alone on the disk.

Sure this will lead to longer compilation time, but with the possibility to switch this thing on or off

everybody should be happy.

I understand that if I want to gain higer frame rate I should buy a faster machine, but sometime

the brute force way is not necessary to get what you want :)

Regards... Umberto

Link to comment
Share on other sites

Umberto,

Let me refer to a post of mine from July, last year:

It would be nice if PTE would adapt automatically to the actual resolution of the monitor or projector. This would mean that it creates resampled copies of the images, created at the first run of the project file, and which will be changed automatically whenever it is needed. This is not a new idea, in m.objects these preprocessed images are called textures.

Another possible feature: When creating an exe-file, it should be possible to enter the resolution of the monitor/projector where the show is meant to run, and PTE should create the exe-file including automatically resampled images of the appropriate size.

Best regards,

Xaver

Link to comment
Share on other sites

Umberto,

Let me refer to a post of mine from July, last year:

It would be nice if PTE would adapt automatically to the actual resolution of the monitor or projector. This would mean that it creates resampled copies of the images, created at the first run of the project file, and which will be changed automatically whenever it is needed. This is not a new idea, in m.objects these preprocessed images are called textures.

Another possible feature: When creating an exe-file, it should be possible to enter the resolution of the monitor/projector where the show is meant to run, and PTE should create the exe-file including automatically resampled images of the appropriate size.

Best regards,

Xaver

This perfectly matches with my needs. I would prefer the second feature over the first, since it's annoying to wait for texture creation while in design mode, and caching them on a folder may be disappointing to the "folder purist".

But that's only my opinion ;)

Regards... Umberto

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...