asp.net pdf viewer component : Cannot view pdf thumbnails in application software tool html winforms wpf online HTML5_QML_Comparison_redist5-part1347

3.2 Functional comparison
browser-extension. When using the QML it is a plugin which is plugged into the QML
runtime environment (see subsection 2.3.2).
A Qt C
++
object which is to be used by QML and/or QtWebKit has to be a QObject
derived class. Within this class, properties dened using the Q
PROPERTY() macro and
member functions dened as ‘public slots’ will be available to the runtime as properties
and functions respectively. In appendix D, the sourcecode used to give storage access to
both QtWebKit and QML can be found. The code used is almost the same except for the
dierence in linebreak characters between QML and HTML.
To give a webpage access to the methods dened in the Qt C++ browser extension a
reference to its class has to be passed to the webpage global JavaScript object. This is
done using the QWebFrame::addToJavaScriptWindowObject(const QString &name, QOb-
ject *object) method. Once this method has been called, an object with the name specied
in &name is available on the webpage.
Since for every webpage the global JavaScript object is cleared, the addToJavaScriptWin-
dowObject(...) should be called every time a new page is loaded. To accomplish this, a
signal and a slot are required.
connect(page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()),
this, SLOT(addBrowserExtension()));
The javaScriptWindowObjectCleared() signal is emitted by a QWebFrame automatically
when the JavaScript window object is cleared. This in turn calls our own addBrowserEx-
tension() slot.
void Browser::addBrowserExtension()
{
page()->mainFrame()->addToJavaScriptWindowObject(
"StorageHandler", m_sh);
}
The only thing that this slot does, is re-adding our Qt C
++
object back to the loaded
webpage. In this manner all pages loaded using this web browser will have access to the
functions dened in the ‘StorageHandler’ class.
The C
++
object has to be added as a QML type to a plugin to be available within the QML
runtime. In subsection 2.3.2 more information can be found on how to accomplish this.
The other option to have storage access is by using a HTTP REST application service. This
is basically a server which can be accessed using the JavaScript XmlHttpRequest API. All
storage requests from an application will be handled by this server. Building an application
using the XmlHttpRequest API has the advantage that the server can be both on the device
or elsewhere.
33
Cannot view pdf thumbnails in - application software tool:C# PDF Thumbnail Create SDK: Draw thumbnail images for PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
www.rasteredge.com
Cannot view pdf thumbnails in - application software tool:VB.NET PDF Thumbnail Create SDK: Draw thumbnail images for PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Thumbnail Generation with Various Options for Quick PDF Navigation
www.rasteredge.com
3. COMPARISON
3.3 Performance comparison
The memory tests used the applications described section 3.1. The source code for these
applications can be found in G. All these tests were carried out on both an Nokia N900
and a Linux Maemo SDK virtual machine (Ubuntu 9.04-based) running with 6-cores and
6GiB of memory enabled on a machine with a hyper-threaded quad-core Intel Core i7-920
CPU and 8 GiB of memory installed. The host-OS was Windows 7 Ultimate x64. Sev-
eral Qt versions were used for testing, the most recent being commit e43ab8d8 from the
4.7-fremantle branch of the public x11-maemo git repository dated 10 May 2010. There
were no signicant dierences between the Qt versions used (less than 100K dierence in
memory usage).
The memory performance with QtWebKit was tested using the browser for which the source
code can be found in appendices A and B. QML memory performance was tested with the
QML runtime executable. Both runtime applications were run using the \-graphicssystem
raster" command-line option. Audio did not work on the N900 with the Qt version used,
therefore the memory performance results while playing back audio on the N900 were omit-
ted.
Memory usage in kilobytes.
QtWebKit-PC
QtWebKit-N900
QML-PC
QML-N900
Menu
190864
85076
67988
78604
Contacts
191300
94232
78424
89004
Player - loading
225636
121276
Player - playing
226056
121692
Looking at the table above and gure 3.13 a big memory gap between QML and QtWebKit
can be seen on the desktop, on the N900 however, this memory gap is much smaller, from
more than double on the PC to less than 10% more on the N900. No explanation for this
behaviour could be given. Other interesting facts are the increase of memory for QML on
the N900 over QML on the desktop and the dierence in memory needed to play a media
le between QtWebKit and QML. Both technologies use the same media playing backend,
but still the memory increase is around 50 megabytes when using QML and around 30
megabytes when using QtWebKit.
The speed performance for QtWebKit was tested in the same browser as the memory
performance. For QML a special runtime was developed which implements functionality for
speed performance measurement. Source code for this runtime can be found in appendices
Aand C.
Iused the test applications for which the source code can be found in appendix H. These
test applications display a rotating green rectangle which should run at a maximum speed
of 60 FPS (frames per second). This 60 FPS limit was enforced by forcing the video driver
of the test PCs to use vertical synchronization with a display that had a maximum refresh
rate of 60 Hz.
34
application software tool:VB.NET Create PDF Library SDK to convert PDF from other file
Creating a PDF document is a good way to share your ideas because you can make sure that the PDF file cannot be altered without authorization or leaving
www.rasteredge.com
application software tool:VB.NET PDF File Permission Library: add, remove, update PDF file
VB.NET Barcode Read, VB.NET Barcode Generator, view less. PDF File Access Permissions Using XDoc.PDF for VB In some case, document cannot be ignored on safety
www.rasteredge.com
3.3 Performance comparison
��
������
�������
�������
�������
�������
����
��������
��������������
��������������
������������������������
�����������
�������������
������
��������
Figure 3.13: Memory performance graph - Graph showing the memory usage of QtWebKit
and QML on the desktop and N900.
These tests have however been run on Windows 7 Ultimate (the host OS of the virtual
machine), the Linux Virtual Machine, a Nokia N900 and Mac OS X 10.6.3 (MacBook
Pro 2.4GHz Core2Duo with 4GiB memory). This has been done to see if there are big
performance dierences between the dierent platforms. The \-graphicssystem raster"
command-line option has been used in all cases.
Maximum frames per second.
QtWebKit
QML
Linux
36
60
Mac OS X
53
60
N900
42
60
Windows 7
32
60
Because the maximum FPS was forced to be 60 it is not possible to say if there was a
problem with QtWebKit on Windows which caused the QtWebKit application to be so
much slower than all other versions, or that Qt itself is slower on Windows than on the
other platforms.
QML is faster in all cases, but this might be partly due to the abscence of anti-aliasing.
In gure 3.14 it is clearly visible that QtWebKit applies anti-aliasing, while QML does not.
There are no options to enable or disable the anti-aliasing in either of the technologies. It
is hard to say which technology is the best option due to this aliasing behaviour. In general
35
application software tool:C# Excel: View Excel File in Window Document Viewer Control
Easy to view, edit, annotate and save Excel (.xlsx there will prompt a window "cannot open your file powerful & profession imaging controls, PDF document, image
www.rasteredge.com
application software tool:C# Image: Create C#.NET Windows Document Image Viewer | Online
C#.NET can also be used to view, process and and viewing multiple document & image formats (PDF, MS Word control, there will prompt a window "cannot open your
www.rasteredge.com
3. COMPARISON
Figure 3.14: Aliasing in QML and QtWebKit - Screenshot of the performance testing
applications where the aliasing behaviour of the technologies is clearly visible.
the resolutions on smartphone displays is so high that it is hard to see the aliasing artifacts,
which is in favor of QML. In this case, where the contrast between the background and
foreground is big, the aliasing artifacts were clearly visible even on the N900 800x480 pixel
screen.
The test application used is very simple. It only measures frames per second and not the
actual time spent on painting, CPU usage, etc. This application could be extended to draw
multiple rectangles to see if the performance drops linearly. The used Qt version can also
be extended to be able to prole the actual paint commands, to see how much time is
spent on the actual painting, but this is an exercise for the reader.
36
application software tool:C# PowerPoint: Document Viewer Creating in Windows Forms Project
Create high-quality image thumbnails for automatic PowerPoint C#.NET WinForms application to view PowerPoint document; will prompt a window "cannot open your
www.rasteredge.com
4
Conclusion
This report has given an overview of the similarities and dierences between QML and
HTML5 to help to answer the question: Which of QML/JavaScript or HTML5/JavaScript
is a better technology for developing mobile User Interface applications?. This comparison
has been done on several areas, like animation support, code reuseability and memory con-
sumption.
In most areas QtWebKit and QML provide similar functionality. These functionalities are
implemented slightly dierent, but in general they are similar. Functionalities which are
dierent are the animation support, context switching and object placement. QML has a
lot more options with regards to animations, including the mixing of sequential and parallel
animations and the support for states. These are very important aspects in modern mo-
bile application development which are a big lacking factor when using HTML. The object
placement in QML is dierent in such that the objects are not resized automatically, but
this gives the developer more control over how the objects are laid out. In HTML the
layout consists mostly of nested boxes which can have undened sizes if their contents do
not t porperly. Context switching in QML is more elaborate with switching the source on
aLoader-element. This does however add the possibility to use animations when switching
from one context to the next. This is hard to do using HTML.
Performance-wise QML might be the better choice on processor and memory constrained
devices. The interface rendering speed is higher, partly at the cost of aliasing artifacts, and
less memory is used by the runtime.
All in all QML is denitely the better choice for mobile use interface development, the per-
formance is better and more options geared towards application development are available.
In some use cases where a developer has experience with HTML and the interface is not
highly animated, HTML might be a better choice, but QML is the better choice in all other
cases.
37
Glossary
API
Application Programming Interface.
An interface dened by a software pro-
gram to enable the program to inter-
act with other software programs. An
API is also dened to specify calling
conventions a developer using this pro-
gram should use to develop his own
program,
Application service An external software applica-
tion that handles communication with
other applications. An example is a
webserver.
HTML
Hyper Text Markup Language. The
language used to create webpages.
HTML5
Version 5 of HTML which is still in
draft as of April 2010. Added func-
tionalities compared to earlier versions
include local storage and media play-
back functionalities.
HTTP REST HyperText Transfer Protocol Rep-
resentational State Transfer. A soft-
ware architecture style which is used
for the internet. REST denes several
constraints to which a system has to
comply to be called RESTful.
JavaScript A programming language which is
used on webpages in combination with
HTML and CSS.
JSON
JavaScript Object Notation. A docu-
ment markup language which can be
easily read by JavaScript.
Kano Model A model developed in 1984 by Pro-
fessor Noriaki Kano classifying cus-
tomer preferences
Linux
An Operating System kernel. Most of-
ten Linux means the kernel with the
GNUtools to form theGNU/LinuxOp-
erating System.
Maemo
Nokia’s newest Linux-based smart-
phone operating system.
QML
Qt declarative Markup Language. A
JSON like markup language to used to
develop Qt declarative interfaces.
qmldir le A le containing the location of les to
be loaded by theQML runtime dynam-
ically.
Qt
A cross-platform application develop-
ment toolkit developed by Nokia Qt
Development Frameworks.
QtWebKit A part of Qt which adds WebKit with
added Qt functionality to the toolkit.
Signal-Slot mechanism A mechanism within the
Qt Toolkit which allows objects to
communicate with one another.
Smartphone A large-screen, data-centric, hand-
held device designed to oer complete
phone functions whilst simultaneously
functioning as a personal digital assis-
tant (PDA)
SVG
Scalable Vector Graphics. An open
XML-format used for vector graphics.
Toolkit
A collection of tools which simplies
software development.
WebKit
A web rendering engine. Originally a
fork of KHTML which was developed
by the KDE project.
WRT
Web RunTime. A Nokia framework
for developing mobile applications for
Nokia devices.
XML
eXtensible Markup Language. A set of
rules to digitally encode documents.
39
References
[1] Clutter About. World Wide Webelectronic publication. Available
from: http://www.clutter-project.org/. 2
[2] The Home oftheMaemo Community. WorldWide Webelectronic
publication. Available from: http://maemo.org/intro/. 1
[3] InternetHistory. WorldWideWebelectronicpublication. Available
from: http://www.computerhistory.org/internet_history/. 9
[4] Maemobackground. WorldWideWebelectronicpublication.Avail-
able from: http://maemo.nokia.com/maemo/. 1
[5] Maemofeatures.WorldWide Webelectronicpublication. Available
from: http://maemo.nokia.com/features/. 2
[6] OpenGL ES Overview. World Wide Web electronic publication.
Availablefrom: http://www.khronos.org/opengles/. 4
[7] Telepathy the Flexible Communications Framework. World Wide
Web electronic publication. Available from: http://telepathy.
freedesktop.org/. 4
[8] Template:Release historytable.WorldWideWebelectronicpublica-
tion.Availablefrom: http://wiki.maemo.org/Template:Release_
history_table. 1
[9] WhatisGStreamer? WorldWideWebelectronicpublication.Avail-
able from: http://gstreamer.freedesktop.org/. 3
[10] OS 2008 Features.
World Wide Web electronic publication,
2008.Availablefrom: http://europe.nokia.com/find-products/
devices/os2008/features. 2
[11] Our software strategy. World Wide Web electronic publication,
2009. Available from: http://phx.corporate-ir.net/External.
File?item=UGFyZW50SUQ9MjQxMzB8Q2hpbGRJRD0tMXxUeXBlPTM=
&t=1. xi
[12] Tim Berners-Lee. HTML Tags. World Wide Web electronic
publication, 1991. Available from: http://www.w3.org/History/
19921103-hypertext/hypertext/WWW/MarkUp/Tags.html. 9
[13] Tim Berners-Lee.
Re: status. Re: X11 BROWSER for
WWW. World Wide Web electronic publication, 1991. Avail-
able from: http://lists.w3.org/Archives/Public/www-talk/
1991SepOct/0003.html. 9
[14] Tim Berners-Lee. How It All Started. World Wide Web elec-
tronicpublication,2004.Availablefrom:http://www.w3.org/2004/
Talks/w3c10-HowItAllStarted/. 9
[15] Jo Best.
Analysis: What is a smart phone?
World
Wide Web electronic publication, 2006.
Available from:
http://www.silicon.com/technology/mobile/2006/02/13/
analysis-what-is-a-smart-phone-39156391/. 1
[16] Jasmin Blanchette and Mark Summerfield. C++ GUI Pro-
grammingwith Qt 4, chapter A Brief History of Qt. PrenticeHall,
2006. 7
[17] BertBos. WebStyle Sheets. WorldWideWebelectronicpublica-
tion. Availablefrom: http://www.w3.org/Style/. 10
[18] VannevarBush.AsWeMayThink.AthlanticMonthly,July1945,
1945. 9
[19] Stephen Chapman. A Brief History of Javascript. World Wide
Web electronic publication. Available from: http://javascript.
about.com/od/reference/a/history.htm. 13
[20] LinuxDevices. Device Prole: Nokia 770InternetTablet. World
Wide Web electronic publication, 2005. Available from: http://
www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/
Device-Profile-Nokia-770-Internet-Tablet/. 1
[21] Linux Devices.
Nokia 770 Tablet \OS 2006" arrives.
World Wide Web
electronic publication, 2006.
Avail-
able
from:
http://www.linuxfordevices.com/c/a/News/
Nokia-770-Tablet-OS-2006-arrives/. 1
[22] Linux Devices.
New Nokia N800 Internet Tablet avail-
able now.
World Wide Web electronic publication, 2007.
Available from:
http://www.linuxfordevices.com/c/a/News/
New-Nokia-N800-Internet-Tablet-available-now/. 1
[23] Douglas Engelbart. Augmenting Human Intellect: A Con-
ceptual Framework.
World Wide Web electronic publication,
1962. Available from: http://www.invisiblerevolution.net/
engelbart/full_62_paper_augm_hum_int.html. 9
[24] Nokia Qt Development Frameworks. Faster, More Cost-
Eective Development Using the Qt Cross-Platform Application
& UIFramework. Whitepaper,2009. 7
[25] Nokia Qt Development Frameworks. All Qt Modules. World
Wide Web electronic publication, 2010. Available from: http:
//doc.trolltech.com/4.6/modules.html. 8
[26] Nokia Qt Development Frameworks. Build System. World
Wide Web electronic publication, 2010. Available from: http:
//doc.trolltech.com/4.6/qt4-intro.html#build-system. 8
[27] Nokia Qt Development Frameworks. Recent Additions to
Qt 4.
World Wide Web electronic publication, 2010. Avail-
able from:
http://doc.trolltech.com/4.6/qt4-intro.html#
recent-additions-to-qt-4. 8
[28] QuimGil.MaemoHarmattanQtAndMore.WorldWideWebelec-
tronicpublication,2009. Availablefrom: http://www.slideshare.
net/qgil/maemo-harmattan-qt-and-more. 2, 4
[29] Web Design Group. CSS Structure and Rules. World Wide
Webelectronicpublication. Availablefrom: http://htmlhelp.com/
reference/css/structure.html. 11
[30] Kent Hansen. Qt State Machine Framework. World Wide Web
electronic publication, 2009. Available from: http://labs.qt.
nokia.com/blogs/2009/01/30/qt-state-machine-framework/.
11
[31] Andreas Aardal Hanssen. Welcome to Kinetic. World Wide
Web electronic publication, 2008. Available from: http://labs.
trolltech.com/blogs/2008/11/06/welcome-to-kinetic/. 11
41
REFERENCES
[32] Andreas Aardal Hanssen.
Animated Tiles.
World Wide
Web electronic publication, 2009. Available from: http://labs.
trolltech.com/blogs/2009/03/04/animated-tiles/. 11
[33] Ian Hickson. Web Storage. World Wide Web electronic pub-
lication, 2009.
Available from: http://www.w3.org/TR/2009/
WD-webstorage-20091222/. 32
[34] Gartner Inc. Gartner Says Grey-Market Sales and Destock-
ing Drive Worldwide Mobile Phone Sales to 309 Million Units;
Smartphone Sales Grew 13 Per Cent in Third Quarter of 2009.
World Wide Web electronic publication, 2009. Available from:
http://www.gartner.com/it/page.jsp?id=1224645. xi
[35] Noriaki Kano, Nobuhiku Seraku, Fumio Takahashi, and
Shinichi Tsuji. Attractive quality andmust-be quality. Journal of
theJapanese Society forQuality Control,14:39{48, 1984. 4,5
[36] Paul Krill.
JavaScript creator ponders past, future.
World Wide Web electronic publication, 2008.
Available
from:
http://www.infoworld.com/d/developer-world/
javascript-creator-ponders-past-future-704. 13
[37] Jan-Arve Sther. Anchor layout joins the family of QGraph-
icsLayout.
World Wide Web electronic publication, 2009.
Available from: http://labs.trolltech.com/blogs/2009/11/26/
anchor-layout-joins-the-family-of-qgraphicslayout/. 11
[38] QtDeclarativeTeam. QtDeclarativeUI. WorldWideWebelec-
tronicpublication,2009. Available from: http://labs.trolltech.
com/blogs/2009/05/13/qt-declarative-ui/. 11
[39] The GTK+ Team. The GTK+ Project Overview. World Wide
Webelectronicpublication,2007. Availablefrom: http://www.gtk.
org/overview.html. 3
[40] TheGStreamerteamathttp://gstreamer.freedesktop.org/.
gst-launch-0.10(1) - Linux man page. World Wide Webelectronic
publication.
Available from:
http://linux.die.net/man/1/
gst-launch-0.10. 3
[41] thoughtfix. OS2008 \Diablo" update: A pictorial. World
Wide Web electronic publication, 2008. Available from: http:
//tabletblog.com/2008/06/os2008-diablo-update-pictorial.
html. 2
[42] Iago Toral. MAFW: the Media Application Framework for
Maemo. World Wide Web electronic publication, 2009. Available
from: http://www.grancanariadesktopsummit.org/node/219. 4
[43] Judy van Biljon, Paula Kotze, and Karen Renaud. Mobile
phone usage of youngadults: the impactof motivational factors.
In Proceedings of the 20th Australasian Conference on Computer-
HumanInteraction: DesigningforHabitusandHabitat,pages57{64,
2008. 4,5
[44] Don Wells. Extreme Programming: A gentle introduction.
World Wide Web electronic publication, 2009. Available from:
http://www.extremeprogramming.org/. xv
[45] Nathan Willis. Maemo 5, N900 Centerpiece Maemo Sum-
mit 2009. World Wide Web electronic publication, 2009. Avail-
able from: http://www.linux.com/news/embedded-mobile/mids/
147172-maemo-5-n900-centerpiece-maemo-summit-2009. 2
42
Documents you may be interested
Documents you may be interested