screen-13 0.13.0

An easy-to-use Vulkan rendering engine in the spirit of QBasic.
Documentation
# Getting Started with _Screen 13_

This guide is intended for developers who are new to _Screen 13_ and want a step-by-step introduction. For further details on these
topics refer to the online [documentation](https://docs.rs/screen-13/latest/screen_13/).

## Required Packages

_Linux (Debian-like)_:
- `sudo apt install cmake uuid-dev libfontconfig-dev libssl-dev`

_Mac OS (10.15 or later)_:
- Xcode 12
- Python 2.7
- `brew install cmake ossp-uuid`

_Windows_:
- TODO (works but I haven't gathered the requirements)

## Documentation

Read the generated [documentation](https://docs.rs/screen-13/latest/screen_13/) online, or run the
following command locally:

```
cargo doc --open
```

## Changes

Stay informed of recent changes to _Screen 13_ using the
[change log](https://github.com/attackgoat/screen-13/blob/master/CHANGELOG.md) file.

## Performance Profiling

Most of the example code (_the ones which use an `EventLoop`_) support profiling using `puffin`. To
use it, first install and run `puffin_viewer` and then run the example with the
`--features profile-with-puffin` and `--release` flags.

You may need to disable CPU thermal throttling in order to get consistent results on some platforms.
The inconsistent results are certainly valid, but they do not help in accurately measuring potential
changes. This may be done on Intel Linux machines by modifying the Intel P-State driver:

```bash
echo 100 | sudo tee /sys/devices/system/cpu/intel_pstate/min_perf_pct
```

(_[Source](https://www.kernel.org/doc/Documentation/cpu-freq/intel-pstate.txt)_)

## Helpful tools

- [VulkanSDK]https://vulkan.lunarg.com/sdk/home _(Required when calling `EventLoop::debug(true)`)_
- NVIDIA: [nvidia-smi]https://developer.nvidia.com/nvidia-system-management-interface
- AMD: [RadeonTop]https://github.com/clbr/radeontop
- [RenderDoc]https://renderdoc.org/