Comments (7)
Some improvements were made in bd3990e, but I can't think of or find any other improvements to make for equirectangular or cubic panoramas. On the other hand, there's a lot that still needs to be done for multires.
from pannellum.
For those who are testing with Firefox on Linux, this might be a problem: https://bugzilla.mozilla.org/show_bug.cgi?id=1010527. For me (Ubuntu 12.04), activating layers.acceleration.force-enabled
did not help.
from pannellum.
This is a design problem of pannellum.js and libpannellum.js.
If WebGL is used everything is fine almost but with the fallbacks (probably used most on mobile) there is space to improve.
Due to the many many globals, circum-/crossreferences and closures - especially if using multires types - a refactoring might be an idea.
Using streams like in http://highlandjs.org/ should be considered as well.
from pannellum.
I've only tested Pannellum on desktop and attempted to create a balanced comparison between Pannellum and the commercial KRPano using the same multires tiles, with zoom locked on level 1 and auto-rotate. The result showed a difference of almost 25fps between both, KRPano having the upper hand in the average and maximum fps.
I'll leave these 2 screenshots that show a more detailed view of the tests:
I'm not sure that it influences much but, as you can see in the screenshots, Pannellum is constantly recalculating the style in comparison to KRPano.
Also, in case it matters, this is the system where I did the tests:
- CPU: Intel Core i5-3470 @ 3.20GHz
- GPU: Intel HD Graphics 2500
- OS: Windows 10.0.10586 (x64)
- Browser: Mozilla Firefox 48.0.2 (x64)
from pannellum.
The "recalculate style" events are from rendering hot spots. At least from my own tests, this is a small fraction of the time.
I'm somewhat surprised at the frame rate, since I often get an average of >50fps on my laptop with an Intel Core i5-4250U @ 1.3GHz (under Linux Mint 17.3).
from pannellum.
On my home machine, which is much better than the one I previously mentioned, I get an average 55fps.
Nevertheless, any idea why Pannellum would perform less than ideal, in comparison with KRPano on that same machine?
Even when dragging around, KRPano would have the smoothness that I am only experiencing with Pannellum on my home computer.
from pannellum.
Performance tends to be a bit hit or miss depending on the device, although I'm not entirely sure why. The only significant issue I've been able to attribute to a specific cause is that frames are sometimes dropped when loading new multires tiles. I'm not sure what to do about this though, since the texture loading needs to happen in the main thread due to how WebGL works. Performance could also be improved by using multiple WebGL texture units, but I don't know if the gains are large enough to be worth the effort.
from pannellum.
Related Issues (20)
- hotspot HOT 1
- Can I use a normal image (not panorama or photosphere) in pannellum? HOT 2
- Removing white screen between images loading without using scenes HOT 3
- i have problem caching image i set to canvas HOT 2
- Mouse click to cube coordinates HOT 1
- generate.py tile size edge case HOT 1
- Cubemap panorama HOT 1
- question - Support for depth map (equirectangular image with encoded depth value) HOT 1
- Virtual Tour Scene Misalignment with Navigation Arrows. HOT 3
- black squares when using multiple resolutions HOT 1
- Add typescript definitions on DefinitelyTyped HOT 1
- Feature Request: /latest/ path on cdn.pannellum.org HOT 1
- autoRotateInactivityDelay without autoRotate causes it to lookAt on scene start HOT 3
- how to set custom hotSpots arrow rotation HOT 1
- Untilting a panorama HOT 2
- Simple Panorama Example can't load my image? HOT 2
- Why there is no LOADING system for MRES pano ? HOT 1
- How to turn the azimuth values of nearby points to the hotspot view inside the panoramic view. HOT 8
- some android browser throw maxWidth error HOT 1
- Viewer.removeHotSpot HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pannellum.