Warning, /graphics/digikam/core/dplugins/generic/view/glviewer/README is written in an unsupported language. File is not indexed.

0001 --------------------------
0002 OpenGL image viewer plugin
0003 --------------------------
0004 
0005 This image viewer was designed with speed and ease of usage in mind as well as for mouseless setups (notebooks).
0006 A image is converted to a non-power-of two OpenGL texture. This means your video driver has to support the GL_ARB_texture_rectangle
0007 OpenGL extension. Please verify with the command glxinfo.
0008 
0009 Please keep in mind that you need a lot of video memory: a 5MP image requires 20MB texture memory.
0010 If you run out texture ram, the downloading time of the texture can be increased up to several seconds.
0011 
0012 -------------------
0013 Handbook
0014 -------------------
0015 
0016 1) Start
0017 --------
0018 
0019 - select the images you'd like to view. Ctrl-A for all images
0020         if no image is selected, all images of the album are loaded and the first image will be displayed
0021         if one image is selected, all images are loaded and the selected image image will be displayed
0022         if several images are selected, only the selected images are loaded
0023 - select View->OpenGl Image viewer
0024 - for convenience, create a shortcut in the host application. In digiKam, select Settings->Configure Shortcut, search for "image viewer"
0025 
0026 
0027 2) Usage
0028 --------
0029 
0030 next image                 : scrollwheel down or n or down arrow or right arrow or Space
0031 previous image             : scrollwheel up or p or up arrow or left arrow
0032 toggle fullscreen/normal   : f
0033 quit                       : Esc
0034 toggle scrollwheel action  : c (scrollwheel either zooms or changes the image), default is changing images
0035 rotation                   : r
0036 reset view                 : double click
0037 original size              : o
0038 
0039 
0040 zooming:
0041 
0042 - move mouse in y-direction while pressing the right mouse button
0043 - alternatively, press c and use the scrollwheel
0044 - plus/minus
0045 - ctrl + scrollwheel
0046 
0047 
0048 panning:
0049 
0050 - move mouse while pressing the left button
0051 
0052 
0053 3) Performance & technical details
0054 ----------------------------------
0055 
0056 On a PentiumM 1Ghz, slow 2.5 inch harddrive, I measured the following times for changing an image (5 megapixel, 2MB)
0057 - loading image from cache: 0ms
0058 - download texture to video memory: 15ms
0059 - draw image: 16ms
0060   the new image is on the screen after 31ms of the user interaction
0061 - preload next image to cache 690ms
0062   only after preloading is done, the next image can be displayed.
0063 
0064 The most expensive part is instantiating a QImage(myimage) object with 690ms,
0065 which includes reading the file from the harddrive.
0066 Downscaling to screensize and converting to GL format takes around 70ms.
0067 At least on my setup, downscaling by CPU is still faster than copying a 20Mb texture to video mem and downscaling by GPU.
0068 
0069 Other programs/libraries: time of loading and displaying an image
0070 SDL:                       750ms
0071 Kuickshow: (imlib)         690ms (without smooth rendering)
0072 Kuickshow: (imlib)        1770ms (with smooth rendering)
0073 feh: (imlib2)              670ms
0074 this Image Viewer plugin:  720ms (implicit smooth rendering due to OGL)