• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

jni / vispy / 14532569852
70%
master: 70%

Build:
Build:
LAST BUILD BRANCH: main
DEFAULT BRANCH: master
Ran 18 Apr 2025 08:54AM UTC
Jobs 4
Files 345
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Apr 2025 12:23PM UTC coverage: 70.074% (+0.2%) from 69.903%
14532569852

push

github

web-flow
Various optimizations related to camera linking and mesh normals (#2532)

See #2530 

CC @jintaoLee-roger

This is a collection of optimizations uncovered in #2530 debugging by me
or @jintaolee-roger. The main ideas are to not update camera properties
unless the value has actually changed. This prevents expensive
transform-updating methods from being called unnecessarily. This is
especially noticeable when a single camera move updates 4+ properties of
a linked property and each one tries to report that the view/transform
has changed. It does this in two ways:

1. Don't execute a transform update if we're updating properties
2. Don't update a property (and signal a view change) if the property
value is the same

This PR also adds some checks in the mesh light filter to see if vertex
normals have actually changed before submitting/uploading the normals to
the GPU. It also enables the use of a previously unused (yet defined for
some reason?) `MeshData._vertex_normal_indexed_by_faces`. This allows
the check in the light filter to actually work with a simple identity
(`is`) check.


TODO:

* Testing of performance by @jintaolee-roger
* Adding tests for at least the normals caching in the meshdata.

---------

Co-authored-by: Lorenzo Gaifas <brisvag@gmail.com>

5872 of 10611 branches covered (55.34%)

Branch coverage included in aggregate %.

60 of 68 new or added lines in 6 files covered. (88.24%)

171 existing lines in 10 files now uncovered.

24180 of 32275 relevant lines covered (74.92%)

2.46 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
58.94
-0.18% vispy/scene/cameras/panzoom.py
1
59.29
0.68% vispy/scene/cameras/perspective.py
6
78.81
0.51% vispy/scene/cameras/base_camera.py

Uncovered Existing Lines

Lines Coverage ∆ File
1
92.5
57.21% vispy/visuals/gridlines.py
1
91.34
-0.39% vispy/visuals/tests/test_image.py
2
66.36
2.62% vispy/scene/cameras/turntable.py
3
73.33
-3.59% vispy/version.py
5
94.9
0.17% vispy/geometry/tests/test_triangulation.py
5
51.22
0.0% vispy/scene/cameras/arcball.py
13
91.48
0.16% vispy/geometry/triangulation.py
15
90.05
2.26% vispy/color/colormap.py
18
87.03
-0.89% vispy/visuals/image.py
108
47.2
-2.17% vispy/app/backends/_qt.py
Jobs
ID Job ID Ran Files Coverage
1 run-2 - 14532569852.1 18 Apr 2025 09:04AM UTC 345
68.86
2 run-3 - 14532569852.2 18 Apr 2025 09:04AM UTC 345
48.87
3 run-4 - 14532569852.3 18 Apr 2025 09:04AM UTC 345
67.61
4 run-1 - 14532569852.4 18 Apr 2025 09:04AM UTC 345
43.14
Source Files on build 14532569852
  • Tree
  • List 345
  • Changed 20
  • Source Changed 0
  • Coverage Changed 20
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • cff17d30 on github
  • Prev Build on main (#12291385307)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc