Pierre Ossman
8ee522a66e
Catch exceptions by reference
We use polymorphic exception objects, so catching by value invokes
the copy constructor and stuff that we don't really want.
6 lat temu
Pierre Ossman
e6810fa3e5
Fix calculation of conversion test target values
Bit shifting gives an approximate, but not properly accurate value
when upconverting. Do a proper calculation.
6 lat temu
Pierre Ossman
2fa63f8576
Add client support for LED state sync
7 lat temu
Pierre Ossman
1669a2d5a1
Use correct color space for current monitor
We won't always be on the primary monitor, so check which color space
we're actually using right now. For offscreen stuff we assume a standard
sRGB color space.
7 lat temu
Pierre Ossman
6a1a0d0c57
Change cursor API to use RGBA data
This will allow us to use better formats that preserve the entire
alpha channel.
7 lat temu
Pierre Ossman
de6a5806d2
Add alpha blending support to surfaces
7 lat temu
Pierre Ossman
3d74d88806
Render on a temporary surface when needed
Some platforms draw directly to the screen, which means that updates
will flicker if we draw multiple layers. Prevent this by first
composing the update on a hidden surface.
7 lat temu
Pierre Ossman
403ac27d23
Abstract platform rendering to "surfaces"
This will allow us to render more things than just the framebuffer.
7 lat temu
Pierre Ossman
5b092766fc
Improve framebuffer performance test measurement
Some platforms impose a significant delay per frame, so we need
to separate that from the time spent shuffling pixels.
7 lat temu
klemens
0536d0975b
spelling fixes
7 lat temu
Pierre Ossman
0f626ad79a
Do explict sync after XShmPutImage()
The complex logic waiting for events didn't result in any added
performance, so use the simpler approach.
7 lat temu
Brian P. Hinz
4ece7c5d81
Add Fltk and Gettext include dirs when compiling tests
7 lat temu
Pierre Ossman
38a1c70260
Add test to measure framebuffer performance
7 lat temu
Pierre Ossman
d175da7189
Add unit tests for getHostAndPort()
8 lat temu
Pierre Ossman
6627efa44f
Performance analysis of multi-core decoder
8 lat temu
Pierre Ossman
98d7af9cd1
Estimate CPU core usage in performance tests
This is based on comparing CPU time with elapsed time, which means
that the tests can be heavily influenced by other load on the test
machine.
8 lat temu
Pierre Ossman
3da238dee8
Let CConnection intercept more callbacks
We need more callbacks for correct operation of multi-threaded
rect decoding.
8 lat temu
Pierre Ossman
9f273e9cd8
Delegate decoder object management to a separate class
Done in preparation for multi-core decoding. Keeps the complexity
out of the other classes. This also moves ownership of the
framebuffer in to CConnection. It's the CConnection object that is
aware of the threads and how to synchronise with them. Therefore
the ownership of the framebuffer must also be there to make sure
it isn't deleted whilst threads are working.
8 lat temu
Pierre Ossman
b591c9dfff
Include kernel time in CPU usage measurement
Time spent executing in the kernel is as much of a performance problem
as time spent in userspace. Make sure both numbers are included.
8 lat temu
Pierre Ossman
135906e4b2
Remove parameter "hasBeenSet" logic
It doesn't really make sense anymore given that settings might come
from the GUI or configuration and not only the command line.
9 lat temu
Pierre Ossman
f10d2a7cb0
Wrong array index in CPU usage calculation on Windows
9 lat temu
Pierre Ossman
7d218b08a3
Windows doesn't have %lld
9 lat temu
Pierre Ossman
fc331e62a8
overrun() needs to return the available space
9 lat temu
Pierre Ossman
86475a684d
Move things around slightly so the compiler can track cc
9 lat temu
Pierre Ossman
fb450fba5d
Fix mismatches between format string and arguments
9 lat temu
Pierre Ossman
5c23b9ed7d
Fix bad signed/unsigned comparisons
Either by casting, or switching to a more appropriate type
for the variable.
9 lat temu
DRC
13cfb51071
encperf, decperf: catch fopen() errors
This prevents unhandled exceptions if the file isn't found.
9 lat temu
DRC
2a172c9cf1
encperf: Optionally disable pixel translation
For 16-bit and 8-bit datasets, you can now run encperf with an argument of
-translate=0 to benchmark just the encoder without converting the datasets to
24-bit. This allows the output of encperf to be directly compared with that
of the TurboVNC Benchmark Tools.
9 lat temu
DRC
e46dda6992
encperf: change % to %% in printf format
GCC lets this slide, but other compilers (clang) complain about using % rather
than %% to print a literal % character.
9 lat temu
DRC
562eb71741
encperf: add compression level to encoding list
Explicitly add the compression level to the list of encodings so it's obvious
how to override it.
9 lat temu
DRC
4631a76c1b
encperf: allow # of iterations to be specified
9 lat temu
DRC
77be929e03
encperf: report encoded & raw-equivalent bytes
Report encoded and raw-equivalent bytes as well as compression ratio (I like
to have these statistics so I can compute overall compression ratios for
groups of datasets in a spreadsheet.)
9 lat temu
DRC
b4c4a387e5
encperf: Code formatting tweaks
Code formatting tweaks to improve readability & make the code consistent with
the rest of TigerVNC
9 lat temu
Pierre Ossman
8738e8a627
Add test to measure high level encoding performance
9 lat temu
Pierre Ossman
8ac31113cc
Make it possible to measure CPU usage in parellel
9 lat temu
Pierre Ossman
e1f2545fa1
Add test to measure decoding performance
9 lat temu
Pierre Ossman
86a01b0052
Make sure stride handling is also tested
9 lat temu
Pierre Ossman
387bf9b386
Use constants for the test buffer dimensions
9 lat temu
Pierre Ossman
41deb88359
Add pixel conversion correctness test
9 lat temu
Pierre Ossman
ab9b95f9c7
Add missing copyright header.
9 lat temu
Pierre Ossman
8c7962bee8
Rename the pixel conversion performance test
We want to have other tests related to pixel conversion, so avoid
possible naming conflicts.
9 lat temu
Pierre Ossman
a088f1ab39
Remove PixelTransformer and TransImageGetter
There is nothing using these classes anymore, so remove the clutter.
10 lat temu
Pierre Ossman
acc387c1eb
Test results comparing PixelTransformer and bufferFromBuffer()
10 lat temu
Pierre Ossman
761fe24089
Add ability to directly convert between two pixel formats
This is a lot easier and cheaper than having to set up a complete
PixelTransformer object.
10 lat temu
Pierre Ossman
00bed5c595
Put some space between the groups of tests
10 lat temu
Pierre Ossman
e18132cec2
Add more 8 bpp conversion tests
10 lat temu
Pierre Ossman
b6b4dc6487
Remove full support for colour maps
Gets rid of a loooot of code and complexity.
Colour map clients are still supported through an
automatically generated map, but we lose the ability to
develop a client or server that uses colour maps
internally.
10 lat temu
Pierre Ossman
236c03cc33
Add pixel conversion speed test
Add a tests directory where we can put tests programs that can
be useful during testing. Start with a speed test for the pixel
conversion routines.
10 lat temu