iScreensaver Logotype
iScreensaver 5.2 has been released, and provides support for macOS High Sierra 10.13. Please read the 10.13 High Sierra Tech Note as well as the Release Notes. macOS 10.14 Mojave is under investigation, and is not yet recommended.

[Solved] Question about screensavers and large images

edited September 25 in Images and OpenGL
We're working on some screensaver projects where we want to make smooth tours of large images (15k x 15k pixels or larger). At present we're tiling the images and then building a screensaver from the tiles. The results are OK but a bit clunky.

Is there any way to make smoother transitions between full screen image tiles and/or program pan and zoom effects on larger images?

Comments

  • We've tested images up to 16384x16384 in size and they do work on some computers, but only those with the highest specifications.

    Using extremely large images like this is going to be problematic, as the performance (and whether the images work at all) are going to depend on the computer, graphics card (GPU) and GPU drivers.

    If this is for a kiosk or museum-style presentation (where you control both the hardware and software) then you can probably get it to work.

    Can you say more about the specifications of your computer? (CPU, RAM, GPU & VRAM, # of monitors, monitor resolution...)


  • Thanks for getting back to me. We're producing products for modern laptop and desktop computers. I get what you're saying about the restrictions on hardware specification that implies but we can probably live with quite a high ceiling.

    What I'm not clear about is if it's possible (and if so how) to program iScreensaver to show portions of a large image with animated transitions from one view to another.

    Is that possible? If so, what are the magic commands?

    Many thanks in advance for your help.
  • Absolutely - See https://iscreensaver.com/help/help07.shtml#effectTransition which allows you to set up a custom 3D effect with your own combination of 3D Location (which lets you zoom / pan to a specific part of the image), Velocity (which lets you move the image in 3D space), Rotation (to start at arbitrary angles for X, Y, and Z axes) and Spin (to rotate in 3D space)

    Please note that a 16k image (16384x16384 pixels) has 8 bit RGBA components for a total of 16384x16384x4 bytes = 1GB in size for a single image. If you wanted to show more than one image onscreen at the same time, each one would add the same amount.

    Although there are gaming laptops with 4GB or higher VRAM in their GPUs, most computers do not have that much VRAM and if you tried to use a giant image things are going to work poorly or even crash.



  • Thanks, that all makes total sense. I'll have a go.

    One point of detail: if I want to go to one part of an image and then to another and so on, do I need to make multiple items in the screensaver editor or can I just use one?
  • edited March 2017
    Each new effect requires a new item in the sequence. One way is to just set up the first image to your liking, then duplicate it from the Edit menu, and then adjust the effect settings on the copy.

    iScreensaver is smart about handling images, so if two or more sequence items refer to the same image, that image will only be loaded once which will save RAM and Hard Drive space as well.


    Another thing to consider: The first time an image is displayed, iScreensaver needs to do some processing on it and will save the cached image to the Hard Drive / SSD. With big images this can take a few seconds. After this first use, the image is cached and later uses will be much quicker. In practice, this means that on the very first test of a screensaver after installation, it may be a little clunky, but as the images are cached, it will speed up.


  • All good. Thank you. I'll give it a go...
Sign In or Register to comment.