Merge lp:~unity-team/qtmir/touch_tracing into lp:qtmir
| Status: | Superseded |
|---|---|
| Proposed branch: | lp:~unity-team/qtmir/touch_tracing |
| Merge into: | lp:qtmir |
| Diff against target: |
1257 lines (+940/-18) 28 files modified
CMakeLists.txt (+3/-1) benchmarks/CMakeLists.txt (+8/-0) benchmarks/README (+12/-0) benchmarks/common.py (+33/-0) benchmarks/report_types.py (+121/-0) benchmarks/touch_event_latency.R (+6/-0) benchmarks/touch_event_latency.py (+271/-0) debian/control (+19/-0) debian/qtmir-tests.install (+6/-0) debian/rules (+1/-1) demos/CMakeLists.txt (+4/-0) demos/paths.h.in (+40/-0) demos/qml-demo-client/CMakeLists.txt (+41/-0) demos/qml-demo-client/main.cpp (+73/-0) demos/qml-demo-client/qtmir-demo-client.desktop.in (+9/-0) demos/qml-demo-shell/CMakeLists.txt (+35/-0) demos/qml-demo-shell/main.cpp (+57/-0) src/common/timestamp.cpp (+18/-0) src/common/timestamp.h (+39/-0) src/common/timestamp_impl.h (+34/-0) src/modules/Unity/Application/mirsurface.cpp (+5/-4) src/modules/Unity/Application/mirsurfaceitem.cpp (+6/-0) src/modules/Unity/Application/tracepoints.tp (+5/-0) src/platforms/mirserver/CMakeLists.txt (+1/-0) src/platforms/mirserver/qteventfeeder.cpp (+14/-4) src/platforms/mirserver/tracepoints.tp (+5/-0) tests/modules/General/CMakeLists.txt (+2/-8) tests/modules/General/timestamp_test.cpp (+72/-0) |
| To merge this branch: | bzr merge lp:~unity-team/qtmir/touch_tracing |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Gerry Boland | 2015-08-05 | Needs Fixing on 2015-09-17 | |
| PS Jenkins bot | continuous-integration | Approve on 2015-09-17 | |
|
Review via email:
|
|||
This proposal has been superseded by a proposal from 2015-09-18.
Commit Message
Added touch performance tracing and test.
Description of the Change
Added touch performance tracing and test.
requires:
https:/
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:351
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 359. By Daniel van Vugt on 2015-08-12
-
MirSurfaceItem: Remove an unnecessary and potentially infinite loop
(LP: #1477430)We only need to "drop" or consume one frame to do the job of waking
the client up.
Fixes: #1477430
Approved by: Gerry Boland, PS Jenkins bot - 360. By Gerry Boland on 2015-08-12
-
authorizeSession incorrectly edits desktopFilePath supplied by desktop_file_hint Fixes: #1483225
Approved by: Daniel d'Andrada, PS Jenkins bot - 361. By Gerry Boland on 2015-08-12
-
Standardize licences to LGPLv3, update years, remove authors Fixes: #1483664
Approved by: Daniel d'Andrada - 362. By Gerry Boland on 2015-08-12
-
Add vivid changelog entry as it was released
- 363. By CI Train Bot Account on 2015-08-12
-
Releasing 0.4.5+15.
04.20150812. 1-0ubuntu1
| Gerry Boland (gerboland) wrote : | # |
=== modified file 'debian/rules'
-DNO_TESTS=1 - please undo, we want tests!
=== added file 'demos/
I don't understand what this is useful for. Isn't the "qml" binary sufficient?
=== added file 'demos/
same here.
=== added file 'src/common/
file name "utils" as vague as possible:) Can you be more specific?
+++ src/common/
+qint64 resetStartTime(
+qint64 getStartTime_
please stick into an anonymous namespace
The indenting is inconsistent in the whole file.
+ QCoreApplicatio
I suspect a static variable would do the job just as well.
+ qint64 startTime = getStartTime_
std::chrono has nanosecond to milisecond conversion abilities built in, I think you can just cast and it works. It would be safer than dividing by 1000000. I suspect you can avoid all usages of qint64 as a result.
====
This compression is a clever idea to work around the difference in timestamp units Qt & Mir uses. I'm still curious if instead of tying ourselves to the event APIs Qt has, e.g.
void QWindowSystemIn
ulong timestamp, const QPointF & local, const QPointF & global,
Qt:
Qt:
we could make our own handle*Event() methods. In the end, the above method simply does:
QWindowSystemIn
new QWindowSystemIn
QWindowSystemIn
If we subclassed QWindowSystemIn
To be investigated. For now, your approach is good.
====
std::chrono:
Do you need the milliseconds anywhere, as I only see you calling .count() on this everywhere it's used. Why not just return ulong?
Also, would be good to document *why* you've done the timestamp compression/
=== modified file 'src/platforms/
Typos:
touchEventDispt
touchEventDispt
and these propagate throughout the whole of mirserver.
- 364. By Alberto Aguirre on 2015-08-17
-
Remove protobuf - it is not used anymore.
Approved by: Gerry Boland - 365. By CI Train Bot Account on 2015-08-17
-
Releasing 0.4.5+15.
10.20150817- 0ubuntu1 - 366. By CI Train Bot Account on 2015-08-24
-
Resync trunk.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:352
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 367. By Daniel d'Andrada on 2015-08-27
-
Enable multiple MirSurfaceItems rendering the same MirSurface
So MirSurface is the model and MirSurfaceItem is the view+controller.
+ Make MirSurfaceItem instantiable from QML
+ Isolate all mir::scene::Surface code inside MirSurface
+ Enhanced qml-demo-shell: you can now move, resize and *clone* windows
Approved by: Gerry Boland - 368. By Daniel d'Andrada on 2015-08-27
-
Allow resizing an app that is in the process of getting suspended.
Happens when you lock the phone while showing an app in landscape. As
the display turns off, shell rotates itself back to portrait and starts
suspending the app. Fixes: #1466510
Approved by: Gerry Boland - 369. By CI Train Bot Account on 2015-08-27
-
Releasing 0.4.6+15.
04.20150827. 1-0ubuntu1 - 370. By Nick Dedekind on 2015-09-01
-
touch events tracepoints
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:370
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 371. By Nick Dedekind on 2015-09-02
-
updated CMake
- 372. By Nick Dedekind on 2015-09-02
-
updated control
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:372
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 373. By Nick Dedekind on 2015-09-14
-
review comments
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:373
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 374. By Nick Dedekind on 2015-09-16
-
better timestamp compression + tests
- 375. By Nick Dedekind on 2015-09-16
-
extern timestamp start time
| Nick Dedekind (nick-dedekind) wrote : | # |
> === modified file 'debian/rules'
> -DNO_TESTS=1 - please undo, we want tests!
>
> === added file 'demos/
> I don't understand what this is useful for. Isn't the "qml" binary sufficient?
>
> === added file 'demos/
> same here.
>
It's so we can get them to work with the benchmark util. The client needs to parse the command line parameters for the socket.
>
> === added file 'src/common/
> file name "utils" as vague as possible:) Can you be more specific?
timestamp.h
>
> +++ src/common/
> +qint64 resetStartTime(
> +qint64 getStartTime_
> please stick into an anonymous namespace
>
> The indenting is inconsistent in the whole file.
>
> + QCoreApplicatio
> I suspect a static variable would do the job just as well.
Used extern functions with a variable. Needs to be shared by the different modules.
>
> + qint64 startTime = getStartTime_
> std::chrono has nanosecond to milisecond conversion abilities built in, I
> think you can just cast and it works. It would be safer than dividing by
> 1000000. I suspect you can avoid all usages of qint64 as a result.
>
>
> ====
> This compression is a clever idea to work around the difference in timestamp
> units Qt & Mir uses. I'm still curious if instead of tying ourselves to the
> event APIs Qt has, e.g.
>
> void QWindowSystemIn
> ulong timestamp, const QPointF & local, const QPointF & global,
> Qt::MouseButtons b, Qt::KeyboardMod
> Qt::MouseEventS
>
> we could make our own handle*Event() methods. In the end, the above method
> simply does:
>
> QWindowSystemIn
> new QWindowSystemIn
> QWindowSystemIn
> QHighDpi:
> QHighDpi:
>
> QWindowSystemIn
>
> If we subclassed QWindowSystemIn
> timestamp type we want, that event might pass through Qt safely. This would be
> especially usesful for Mir events which have more detail that Qt events have.
>
> To be investigated. For now, your approach is good.
I'll take a look into it when i get a minute.
> ====
>
>
> std::chrono:
> timestamp);
> Do you need the milliseconds anywhere, as I only see you calling .count() on
> this everywhere it's used. Why not just return ulong?
>
> Also, would be good to document *why* you've done the timestamp
> compression/
Done. in the header.
>
>
> === modified file 'src/platforms/
> Typos:
> touchEventDispt
> touchEventDispt
> and these propagate throughout the whole of mirserver.
Fixed.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:374
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:375
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
- 376. By Nick Dedekind on 2015-09-17
-
added REMOVEME to demo c++ links. Fixed demo app names.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:376
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild:
http://
| Gerry Boland (gerboland) wrote : | # |
+$ cd benchmarks
+$ sudo python3 touch_event_
I roughly followed this, but since I saw this script was installed by qtmir-tests in /usr/share/
sudo python3 /usr/share/
but it doesn't fully work:
file://
- 377. By Nick Dedekind on 2015-09-18
-
newline
- 378. By Nick Dedekind on 2015-09-30
-
merged with trunk
- 379. By Nick Dedekind on 2015-10-08
-
fixed debian/control for qtmir-tests
- 380. By Nick Dedekind on 2015-10-13
-
merged with lp:~dandrader/qtmir/multimonitorNext
- 381. By Nick Dedekind on 2015-10-13
-
merged with cmake branch
- 382. By Nick Dedekind on 2015-10-14
-
merged parent

PASSED: Continuous integration, rev:350 jenkins. qa.ubuntu. com/job/ qtmir-ci/ 343/ jenkins. qa.ubuntu. com/job/ qtmir-wily- amd64-ci/ 76 jenkins. qa.ubuntu. com/job/ qtmir-wily- armhf-ci/ 76 jenkins. qa.ubuntu. com/job/ qtmir-wily- armhf-ci/ 76/artifact/ work/output/ *zip*/output. zip
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/qtmir- ci/343/ rebuild
http://