Get all your questions answered about our latest Photosynth Technical Preview.
I've noticed that the resolution of the viewer does not adapt to a new window size when the browser window is resized or even when switching between windowed and fullscreen.
The only time I see this being potentially useful is on an underpowered GPU where I can actually drop the resolution of the window fairly low on viewer load to achieve a higher frame rate and then maximize the window or fullscreen the viewer again in order to enjoy the higher frame rate while filling the entire screen.
Are there any plans to change this behavior going forward?
Interestingly, if you stop on a photo and zoom in and then switch to global view, you will find that global view is rendered in a lower resolution.
Toggling fullscreen on or off (depending on whether you were in the viewer's fullscreen mode or not already) will show you that lower res global view being rendered in the center of the viewer's initial loading resolution.
Regardless of using fullscreen, zooming into a photo and then jumping to global camera and back while zoomed in breaks the scrollwheel's focus with OpenSeadragon and Zoom Out will only be achieved via the keyboard [-] or [Alt] or by starting synth playback again via the Play icon or [Spacebar]
As usual, you've got good eyes!
According to Henri, resizing the WebGL context would have implied a complete reload of all data into the GPU, resulting in a fairly noticeable and distracting blank interval followed by a complete reload of the data (from browser cache) We chose not to do this.
The problem is bad when the size difference between the initial and new size is significant, e.g. when full-screening out of a tiny 500x300 embed.
Perhaps we need logic that says that if the size increase is greater than X% then blow the old context away and suffer the few seconds it will take to reload everything in the new context.
Sounds good to me!
Naturally, I wish that it could simply re-render with the rest of the page/window without interruption, but if it's in the browser vendor's hands, then I suppose it's out of yours.
Is this a limitation across the board, or is it limited to specific browsers?
As far as IE goes, is this something that you could ask them to put on their to do list (and maybe even work with Khronos on getting this fixed across the board)?
As I said at the top, it actually is useful on some of the underpowered laptop GPUs that I have at my disposal to load at a low res and then fullscreen it after that in order to maintain a higher framerate.
I can't quite remember as I write this, but does OpenSeadragon always render at current res of the viewer, independent of what WebGL is doing?
Side note: In the large gaps between photos in poor reconstructions the huge pixels sometimes seen appear to be camera frusta rendered at super low res close to the viewport.
Also: A note on the [Alt] key resetting OpenSeadragon's zoom which I reported earlier is that this only applies to browsers which unhide the File menu when the [Alt] key is pressed and that toolbar is hidden at the time that [Alt] is pressed.
Other toolbars, such as the 'Search the page' one drawn when using [Ctrl]+[F] will also do this.
I haven't tested it yet, but perhaps any resolution change to the window zooms OpenSeadragon back out to fit the image to the viewer borders?
If so, I'm not sure whether to classify this behavior under bug or not, but it is something which a typical user is liable to come across.
It seems I was right. Anything which changes the browser's resolution (unhiding toolbars, resizing the window, etc. all reset the zoom level of any zoomed image).
I found a curious little viewer bug relating to fullscreen which affects:
IE 11, Chrome 31.0.1650.63 m, and Opera 18.0 but not Firefox 26.0
Safari untested at this point.
Steps to reproduce:
1: Shrink your browser window down to one third or less the height of your monitor.
(specific size not important - this just makes it obvious)
2: Load any new Photosynth.
3: Press [F11] key to enter browser's fullscreen mode.
4: Click the viewer's 'Fullscreen' icon once.
5: Click the viewer's 'Fullscreen' icon once again.
You should now see the low res viewer being drawn at native res inside the context of the page still filling the entire screen.