Code Monkey home page Code Monkey logo

Comments (7)

mpetroff avatar mpetroff commented on August 25, 2024

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.

danielnaber avatar danielnaber commented on August 25, 2024

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.

mko-x avatar mko-x commented on August 25, 2024

This is a design problem of pannellum.js and libpannellum.js.

shot 2015-03-17 at 04 53 46

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.

ner00 avatar ner00 commented on August 25, 2024

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.

mpetroff avatar mpetroff commented on August 25, 2024

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.

ner00 avatar ner00 commented on August 25, 2024

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.

mpetroff avatar mpetroff commented on August 25, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.