Smooth and responsive performance while panning
Extremely bad performance/frame rate while panning
The issue is that the image dimension is too big to ImageGlass 12000x12000.
I think this is the threshold
I just logged in to say that I've downloaded the image and used the latest stable version of ImageGlass to view it.
Zooming was instantaneous while panning was a little bit slow but I wouldn't class it as extremely bad performance.
I am using a laptop with Win 10 Pro 64 bit, i5-5200U and 8GBs of RAM. So is there any chance that zooming/panning is not only software related but hardware related as well?
@Keith94 do you have a better computer where you could test the same image?
@rNianios I don't, but if you test the image against another software e.g. Windows 10 Photos app / Firefox Nightly, the difference is very noticeable, and performance is buttery smooth.
The problem here is that ImageGlass does not use your video card to hardware-accelerate the rendering process. This problem is exasperated if you enable "Smooth pixels" as a zoom optimisation under Settings > Image > Zooming, zoom in and out and then pan around a zoomed in image of ANY size (doesn't have to be a massive file size. It is sluggish and unresponsive.
The reason is easy to see. Open Task Manager while panning or zooming in ImageGlass and you'll notice the CPU spike up to 20-30% with a 0% load on the GPU. Do the same in Windows 10 Photo viewer and it elegantly handles the workload by efficiently assigning up to a 15% load onto my GTX 1080 while reducing the workload on the CPU. Since the video card is very good at this type of work, Photos is able to handle very smooth zooming and panning even while smoothing the pixels when zoomed in.
I am trying to replace the Windows 10 "Photo" app with something better as it is pretty frustrating in many ways. ImageGlass was looking like it might be on the way to achieving that goal but unfortunately, not having GPU rendering is an absolute deal breaker for me. As a picture viewer, if you can't pan or zoom smoothly on a picture.. well that's the main function a picture viewer should be able to handle well and sadly, this isn't up to scratch!
@d2phap I had a look but didn't notice any options to enable GPU rendering. Is this a possibility with the existing software or something you could look into adding? As mentioned, it really is a deal breaker and prevents me from considering this software. I suspect it's a deal breaker for others too but they just see it as "too laggy."
Hi @BinaryLoopCode
IG is build on winforms technology which is not hardware-accelerated.
So this is a limitation, i am still looking for a better solution.
+1 for this. UI wise the program is pretty much covered, so after the color management was implemented this is the last bit remain. Just posting so I can keep track of the issue.
Any updates on whether hardware acceleration will be implemented? This would make an already brilliant image viewer even better, especially for mobile (Laptop, tablet, etc.) users as it helps conserve battery since the GPU is better suited for such tasks. Likewise, it gives an edge over what appears to be almost every other third party image viewer which also seem to lack hardware acceleration of any kind.
I see @d2phap's request for Hardware Acceleration to be added to WinForms was rejected, but how about WPF? I believe WPF does feature hardware acceleration, although my own experience with using WPF is quite limited so I am unable to provide further information (or a real idea of how much of a pain it would be to switch over and/or any constraints WPF brings).
To update here,
I am working on an UWP version. It will take some time.
There will be preview versions.
@d2phap https://devblogs.microsoft.com/dotnet/windows-forms-designer-for-net-core-released/ this might be a partial solution for this situation. Since the newer builds are using at least .NET Framework 4.8 now; when VS 2019 16.7 is ready, we could try re-targeting against .NET Core 3 or 5 (whatever's out at that point), and see how it all works.
Most helpful comment
The problem here is that ImageGlass does not use your video card to hardware-accelerate the rendering process. This problem is exasperated if you enable "Smooth pixels" as a zoom optimisation under Settings > Image > Zooming, zoom in and out and then pan around a zoomed in image of ANY size (doesn't have to be a massive file size. It is sluggish and unresponsive.
The reason is easy to see. Open Task Manager while panning or zooming in ImageGlass and you'll notice the CPU spike up to 20-30% with a 0% load on the GPU. Do the same in Windows 10 Photo viewer and it elegantly handles the workload by efficiently assigning up to a 15% load onto my GTX 1080 while reducing the workload on the CPU. Since the video card is very good at this type of work, Photos is able to handle very smooth zooming and panning even while smoothing the pixels when zoomed in.
I am trying to replace the Windows 10 "Photo" app with something better as it is pretty frustrating in many ways. ImageGlass was looking like it might be on the way to achieving that goal but unfortunately, not having GPU rendering is an absolute deal breaker for me. As a picture viewer, if you can't pan or zoom smoothly on a picture.. well that's the main function a picture viewer should be able to handle well and sadly, this isn't up to scratch!
@d2phap I had a look but didn't notice any options to enable GPU rendering. Is this a possibility with the existing software or something you could look into adding? As mentioned, it really is a deal breaker and prevents me from considering this software. I suspect it's a deal breaker for others too but they just see it as "too laggy."