mapillary / mapillary/mapillary-js

Image tiling performance improvements and device support

Open
#226 0 comments 0 reactions 1 assignee View on GitHub

@oscarlorentzon is already working on this.

Since Jan 19, 2017.

affects-render feature
Dominant language
TypeScript
Stars
516
Forks
89
PR merge metrics
No merged PRs in 30d

Description

The current implementation of image tiling is creating a texture with the size of the original image. This is memory inefficient for large images, e.g. panoramas with sizes up to 16384 x 8192 px, and causes long rendering times leaving the viewer unresponsive for up to hundreds of milliseconds from time to time. On devices where the WebGL max texture size is smaller than the original image size the texture will just be scaled and it will not be possible to view the full resolution even when zooming.

The idea with this issue is to only create a texture with the amount of pixels that is needed for the current viewport size. That reduces the memory requirements, the WebGL max texture size will not be a limiting factor, the rendering speed will be improved, and the viewer should behave more smoothly when panning/tilting/zooming.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.