Hi,
Is there any chance to reorganise viewer code to relies on externaly provided library for rendering? Right now I have created my own VNC viewer based on OpenGL rendering API. I can connect to several VNC servers at same time and place their desktops on 3D... see pictures:
I did try to cleanup viewer code to achive such feature but now code too differ from original. Bacically, i changed viewer to deliver remote desktop as OpenGL texture. With additional code to handle mouse in 3d I build fully functional 3d VNC viewer. Because it uses hw acceleration scaling is "free" and viewer runs much faster than GDI version.
Now.. the question (for developers) is.. Do you want to spent some time to cleanup viewer code and use externaly provided rendering interface? Even more.. if you are intresting in this, I can join to dev team and handle this part of project.
Another succestion is to update server to use externally provided JPG encoder and viewer to use externaly provided JPG decoder. Intel's IJL is ~10x faster than JPEGLIB. User that have Intel IPP licence can build .dll/.so with JPEG codec and setup vnc serer and client to use it. It will speedup image transfer.
Celebrating the 22th anniversary of the UltraVNC: https://forum.uvnc.com/viewtopic.php?t=38031
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Bluesky/AT Protocol: https://bsky.app/profile/ultravnc.bsky.social
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: https://forum.uvnc.com/viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: https://forum.uvnc.com/viewtopic.php?t=37864
Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Bluesky/AT Protocol: https://bsky.app/profile/ultravnc.bsky.social
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://x.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc
OpenGL accelerated viewer
OpenGL accelerated viewer
pro’ gram mer (n.) - An organism that converts caffeine into code.
- Rudi De Vos
- Admin & Developer
- Posts: 6879
- Joined: 2004-04-23 10:21
- Contact:
Re: OpenGL accelerated viewer
You better should have used the "tabbed viewer" as base.
The tab viewer use direct3D surfaces to display multiple viewers in a mdi window.
I tryied once to attached the surface to a 3D rotating cube ( using directx)
, but never succeeded.
Your samples look nice ::)
Intel ijl is indeed faster and the ipp zlib give even more acceleration.
If you even want to go faster you can use Mjpeg and reuse the Huffman tables for each image.
Only, GPL require you to be able to compile without the use of priority
libs... My own version use ipp, but the GPL version can't.
PS: Users don't need an intel license, only the developper need one and can royalty free distribute there exe.
For the same reason, using an external lib without adding the source is not allowed by GPL, you can only use it intern.
If you want to create a 3D viewer, and add the source for it to svn we can
work together, only, i current have little time ( some commercial projects need to be finished first). But can make some time in the future.
The tab viewer use direct3D surfaces to display multiple viewers in a mdi window.
I tryied once to attached the surface to a 3D rotating cube ( using directx)
, but never succeeded.
Your samples look nice ::)
Intel ijl is indeed faster and the ipp zlib give even more acceleration.
If you even want to go faster you can use Mjpeg and reuse the Huffman tables for each image.
Only, GPL require you to be able to compile without the use of priority
libs... My own version use ipp, but the GPL version can't.
PS: Users don't need an intel license, only the developper need one and can royalty free distribute there exe.
For the same reason, using an external lib without adding the source is not allowed by GPL, you can only use it intern.
If you want to create a 3D viewer, and add the source for it to svn we can
work together, only, i current have little time ( some commercial projects need to be finished first). But can make some time in the future.
Last edited by Rudi De Vos on 2009-01-21 14:58, edited 1 time in total.
Re: OpenGL accelerated viewer
I started this mod from 1.02 and there is no tabbed viewer framework. Because I needed to totally understand how viewer works I have to chop off a lot code from original viewer, remove windowing stuff, etc.. Even more I didnt support all compressions so there is more things to work.
What I did is to change all common encoders to create rendering job for external renderer instead issuing GDI calls. External renderer runs in its own loop (thread) and once per frame check is there something to update. Then it locks job queue, execute pending jobs (ie.. draw rects, images, ...) and result is modified texture. Because im OpenGL guru, I know how to achive fastest possible codepath using OpenGL API, so peformaces are realy good.
Regarding IJL I know that developers must have licence. My idea is tu create just "plugin" code and release source code for it. Next thing will be to make two different implementation...
1. using JPGLIB with full source code and
2. using IJL (just with plugin stub code). Developers who have Intel lience can rebuild this plugin... others cannot. Im not sure is this GPL viloation or not.
I wold like to join this project.. so when you have more time please email me to contribute my code.
btw.. is there any chance to upload exe on this forum if someone wants to try?
What I did is to change all common encoders to create rendering job for external renderer instead issuing GDI calls. External renderer runs in its own loop (thread) and once per frame check is there something to update. Then it locks job queue, execute pending jobs (ie.. draw rects, images, ...) and result is modified texture. Because im OpenGL guru, I know how to achive fastest possible codepath using OpenGL API, so peformaces are realy good.
Regarding IJL I know that developers must have licence. My idea is tu create just "plugin" code and release source code for it. Next thing will be to make two different implementation...
1. using JPGLIB with full source code and
2. using IJL (just with plugin stub code). Developers who have Intel lience can rebuild this plugin... others cannot. Im not sure is this GPL viloation or not.
I wold like to join this project.. so when you have more time please email me to contribute my code.
btw.. is there any chance to upload exe on this forum if someone wants to try?
Last edited by yooyo3d on 2009-01-21 23:39, edited 1 time in total.
pro’ gram mer (n.) - An organism that converts caffeine into code.
Re: OpenGL accelerated viewer
> is there a vncviewer/winvnc with VirtualGL/TurboVNC for windows ?
yes,
here the linux version and windows version TurboVNC*.exe
http://sourceforge.net/projects/virtualgl/files/
yes,
here the linux version and windows version TurboVNC*.exe
http://sourceforge.net/projects/virtualgl/files/
Last edited by redge on 2009-11-28 01:54, edited 2 times in total.
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
OS Win: xp home + vista business + 7 home
only experienced user, not developer
Re: OpenGL accelerated viewer
I would be happy to tryyooyo3d wrote:btw.. is there any chance to upload exe on this forum if someone wants to try?
you can host on your own instant file like web while your are online with Opera 10.10
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
OS Win: xp home + vista business + 7 home
only experienced user, not developer
Re: OpenGL accelerated viewer
> is there a vncviewer/winvnc with VirtualGL/TurboVNC for windows ?
found TigerVNC (replace TurboVNC based remote VirtualGL)
[topic=16637][/topic]
cross OS plateform and open source
but weird slow, i must miss something.
found TigerVNC (replace TurboVNC based remote VirtualGL)
[topic=16637][/topic]
cross OS plateform and open source
but weird slow, i must miss something.
Last edited by redge on 2009-12-18 21:50, edited 1 time in total.
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
OS Win: xp home + vista business + 7 home
only experienced user, not developer
Re: OpenGL accelerated viewer
Rudi De Vos wrote:Intel ijl is indeed faster and the ipp zlib give even more acceleration.
If you even want to go faster you can use Mjpeg and reuse the Huffman tables for each image.
Only, GPL require you to be able to compile without the use of priority
libs... My own version use ipp, but the GPL version can't.
PS: Users don't need an intel license, only the developper need one and can royalty free distribute there exe.
Rudi,Darell Commander wrote:tuning the open source libjpeg/SIMD codec at the assembly level, resulting in double the performance.
reference creator of VirtualGL
http://www.linkedin.com/in/dcommander
I don't understand you about ijl and ipp zlib if the libjpeg/SIMD of intel since is open source.
Why is not implemented inside ultravnc open source,
are you worry broken your business ?
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
OS Win: xp home + vista business + 7 home
only experienced user, not developer
- Rudi De Vos
- Admin & Developer
- Posts: 6879
- Joined: 2004-04-23 10:21
- Contact:
Re: OpenGL accelerated viewer
Intel ipp are libs...
If you use ipp insite vnc, you need the libs to be able to compile vnc.
This mean that you can only compile vnc if you buy a intel license...
If you use ipp insite vnc, you need the libs to be able to compile vnc.
This mean that you can only compile vnc if you buy a intel license...
Re: OpenGL accelerated viewer
do you have vncviewer 1.0.82 or/and winvnc 1.0.8.2 exe file for see difference performance ?This mean that you can only compile vnc if you buy a intel license...
UltraVNC 1.0.9.6.1 (built 20110518)
OS Win: xp home + vista business + 7 home
only experienced user, not developer
OS Win: xp home + vista business + 7 home
only experienced user, not developer