Age | Commit message (Collapse) | Author |
|
Currently, this is unlikely to be enabled for shared memory mappings on
any user's system, so will not make a difference. If
`/sys/kernel/mm/transparent_hugepage/shmem_enabled` is set to `advise`
or higher, however, this commit should enable the use of hugepages. This
can greatly speed up startup for large windows - for a 2880x1800
fullscreen window on my laptop, enabling hugepages halves startup time.
From the kernel mailing lists, it looks like there's some work towards
allowing applications to opt-in to THP support regardless of whether
they're enabled, via `madvise(MADV_COLLAPSE)`, so this may be more
useful in future.
|
|
Tofi should now appear on whatever the compositor's default output is
(usually the focused one), unless --output has been given.
|
|
There are too many really to use single-character args, so the next step
should be a config file.
|
|
By pointing Cairo at the mmap-ed file used to create wl_shm buffers, we
can eliminate a memcpy() on every draw, providing a decent speedup
(especially for large window sizes).
This comes at the expense of having to keep track of two Cairo contexts,
one for each of our two buffers used for double buffering. Additionally,
a single memcpy() is still required for initialisation of the second
buffer, so the startup latency isn't affected much.
|
|
|
|
eglInitialize() is slow (~50-100ms), and uses a fair amount of memory
(~100 MB). For such a small, simple program that just wants to launch as
quickly as possible, wl_shm performs better.
|
|
This implements a rofi-like run cache. Other smaller changes include
simplification of resize logic now that there's only one surface.
|
|
|
|
|
|
Also fix some memory leaks.
|
|
|
|
|