New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 696385 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocked on:
issue 695296
issue 696384



Sign in to add a comment

Implement low-latency laser pointer

Project Member Reported by reve...@chromium.org, Feb 27 2017

Issue description

Update the implementation of the laser pointer to use ChromeOS's low-latency rendering support.
 
Patch that works can be found here: https://codereview.chromium.org/2714393002

However, it depends on us first turning on non-opaque HW overlay support ( crbug.com/695296 ).
FYI, https://codereview.chromium.org/2716123003 and adding:

!--enable-hardware-overlays
--enable-hardware-overlays=single-on-top

to /etc/chrome_dev.conf on kevin can be used to try this today.
Blockedon: 695296
Project Member

Comment 5 by bugdroid1@chromium.org, Mar 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/41364502a9780a5be401e6645c527904313834fb

commit 41364502a9780a5be401e6645c527904313834fb
Author: reveman <reveman@chromium.org>
Date: Mon Mar 06 23:02:02 2017

ash: Avoid unnecessary laser pointer updates.

Increase kAddStationaryPointsDelayMs to 16ms as updating this
more frequently is not going to make a difference on a 60FPS
display.

Also reset stationary timer each time we receive an input event
to avoid unnecessary updates.

BUG= 696385 

Review-Url: https://codereview.chromium.org/2723653003
Cr-Commit-Position: refs/heads/master@{#454990}

[modify] https://crrev.com/41364502a9780a5be401e6645c527904313834fb/ash/laser/laser_pointer_controller.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6e29796bd01d666af693908264a2d52909da420f

commit 6e29796bd01d666af693908264a2d52909da420f
Author: reveman <reveman@chromium.org>
Date: Thu Mar 16 21:49:53 2017

ash: Add basic prediction code to the laser pointer.

This introduces some basic prediction code to the laser pointer. The
code predicts the state at the next presentation time and adds points
and adjusts current points to reflect this.

Presentation time is next VSYNC time + some device specific constant
that represents the time it takes from VSYNC until a change in light
can be observed by the user.

BUG= 696385 
TEST=ash_unittests --gtest_filter=LaserPointerControllerTest.LaserPointerPrediction

Review-Url: https://codereview.chromium.org/2745953002
Cr-Commit-Position: refs/heads/master@{#457572}

[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/common/ash_switches.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/common/ash_switches.h
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_controller.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_controller.h
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_controller_test_api.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_controller_test_api.h
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_controller_unittest.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_points.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_points.h
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_points_test_api.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_points_unittest.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_view.cc
[modify] https://crrev.com/6e29796bd01d666af693908264a2d52909da420f/ash/laser/laser_pointer_view.h

Project Member

Comment 7 by bugdroid1@chromium.org, Mar 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3cbe9383775db9a30225c724f1c4b5d2447ce621

commit 3cbe9383775db9a30225c724f1c4b5d2447ce621
Author: reveman <reveman@chromium.org>
Date: Thu Mar 23 16:42:58 2017

ash: Improve laser pointer prediction calculations at stylus down.

Use new point time as initial last point time when finding historic
points to use for prediction.

Also make the code more robust against conditions that would cause us
to not add any historic points.

BUG= 696385 

Review-Url: https://codereview.chromium.org/2772703002
Cr-Commit-Position: refs/heads/master@{#459117}

[modify] https://crrev.com/3cbe9383775db9a30225c724f1c4b5d2447ce621/ash/laser/laser_pointer_view.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Mar 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f608cd276feb05c7d6d5354ee658fd37db48a7c6

commit f608cd276feb05c7d6d5354ee658fd37db48a7c6
Author: reveman <reveman@chromium.org>
Date: Fri Mar 24 00:17:27 2017

ash: Map/unmap GMB for each laser pointer update.

GMB implementations are allowed to return cached memory
that requires a flush after being written for changes to
be available to the GPU. Call Map/Unmap() to give GMB
implementations a chance to flush if required.

BUG= 696385 

Review-Url: https://codereview.chromium.org/2765393004
Cr-Commit-Position: refs/heads/master@{#459294}

[modify] https://crrev.com/f608cd276feb05c7d6d5354ee658fd37db48a7c6/ash/laser/laser_pointer_view.cc

Status: Fixed (was: Assigned)

Comment 10 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/675cb61e8af51fccfd9cf3ec2a4999244a2d3408

commit 675cb61e8af51fccfd9cf3ec2a4999244a2d3408
Author: David Reveman <reveman@chromium.org>
Date: Thu Jun 15 22:19:14 2017

ash: Add more trace events to laser pointer code.

Fixes the name of a few trace events and adds events to provide
a better break down of the update cost.

BUG= 696385 

Change-Id: Ic73c2948a869a12e1e50279292684431d39b425b
Reviewed-on: https://chromium-review.googlesource.com/537712
Reviewed-by: James Cook <jamescook@chromium.org>
Commit-Queue: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479861}
[modify] https://crrev.com/675cb61e8af51fccfd9cf3ec2a4999244a2d3408/ash/laser/laser_pointer_view.cc

Labels: VerifyIn-61

Comment 13 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment