Pierre Ossman
beb59a4320
Remove variable length arrays
These are not allowed in C++, and have been made optional in C11.
So let's just get rid of them and any issues they may cause.
5 лет назад
Pierre Ossman
dd45b44901
Let CMsgHandler::serverInit() handle initial set up
Avoid using the callbacks used for runtime changes for the initial
setup. They weren't really useful anyway as you could not allocate
a framebuffer without also knowing the pixel format. So make things
more clear by letting serverInit() get the initial settings.
5 лет назад
Pierre Ossman
0d3ce87f11
Rename ConnParams to ClientParams
Now that we've split out server state to ServerParams, ConnParams
only contains state for a client. Rename the class and variables
to reflect this.
6 лет назад
Pierre Ossman
b14a6bc1aa
Split out ServerParams from ConnParams
We need to track different things in the server and client, so
separate things to two independent structures to keep things more
clear.
6 лет назад
Pierre Ossman
9312b0e3e1
Encapsulate screen layout storage in ConnParams
Avoid direct access to the screen dimensions and layout so that we
can make sure it stays sane. This also makes sure the layout is
properly updated when we only get the screen dimensions from the
server.
6 лет назад
Pierre Ossman
8060c5acd6
Fix .gitignore for vncviewer/ and tests/
We had partial coverage for vncviewer/ already, but fix up the last
pieces.
6 лет назад
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 лет назад
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 лет назад
Pierre Ossman
2fa63f8576
Add client support for LED state sync
7 лет назад
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 лет назад
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 лет назад
Pierre Ossman
de6a5806d2
Add alpha blending support to surfaces
7 лет назад
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 лет назад
Pierre Ossman
403ac27d23
Abstract platform rendering to "surfaces"
This will allow us to render more things than just the framebuffer.
7 лет назад
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 лет назад
klemens
0536d0975b
spelling fixes
7 лет назад
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 лет назад
Brian P. Hinz
4ece7c5d81
Add Fltk and Gettext include dirs when compiling tests
7 лет назад
Pierre Ossman
38a1c70260
Add test to measure framebuffer performance
7 лет назад
Pierre Ossman
d175da7189
Add unit tests for getHostAndPort()
8 лет назад
Pierre Ossman
6627efa44f
Performance analysis of multi-core decoder
8 лет назад
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 лет назад
Pierre Ossman
3da238dee8
Let CConnection intercept more callbacks
We need more callbacks for correct operation of multi-threaded
rect decoding.
8 лет назад
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 лет назад
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 лет назад
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 лет назад
Pierre Ossman
f10d2a7cb0
Wrong array index in CPU usage calculation on Windows
9 лет назад
Pierre Ossman
7d218b08a3
Windows doesn't have %lld
9 лет назад
Pierre Ossman
fc331e62a8
overrun() needs to return the available space
9 лет назад
Pierre Ossman
86475a684d
Move things around slightly so the compiler can track cc
9 лет назад
Pierre Ossman
fb450fba5d
Fix mismatches between format string and arguments
9 лет назад
Pierre Ossman
5c23b9ed7d
Fix bad signed/unsigned comparisons
Either by casting, or switching to a more appropriate type
for the variable.
9 лет назад
DRC
13cfb51071
encperf, decperf: catch fopen() errors
This prevents unhandled exceptions if the file isn't found.
9 лет назад
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 лет назад
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 лет назад
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 лет назад
DRC
4631a76c1b
encperf: allow # of iterations to be specified
9 лет назад
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 лет назад
DRC
b4c4a387e5
encperf: Code formatting tweaks
Code formatting tweaks to improve readability & make the code consistent with
the rest of TigerVNC
9 лет назад
Pierre Ossman
8738e8a627
Add test to measure high level encoding performance
9 лет назад
Pierre Ossman
8ac31113cc
Make it possible to measure CPU usage in parellel
9 лет назад
Pierre Ossman
e1f2545fa1
Add test to measure decoding performance
9 лет назад
Pierre Ossman
86a01b0052
Make sure stride handling is also tested
9 лет назад
Pierre Ossman
387bf9b386
Use constants for the test buffer dimensions
9 лет назад
Pierre Ossman
41deb88359
Add pixel conversion correctness test
9 лет назад
Pierre Ossman
ab9b95f9c7
Add missing copyright header.
9 лет назад
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 лет назад
Pierre Ossman
a088f1ab39
Remove PixelTransformer and TransImageGetter
There is nothing using these classes anymore, so remove the clutter.
10 лет назад
Pierre Ossman
acc387c1eb
Test results comparing PixelTransformer and bufferFromBuffer()
10 лет назад
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 лет назад