Skip to content

Commit 2187aef

Browse files
committed
Re-order README
It's more relevant to list actual features etc. at the top, than to list alternatives.
1 parent 5e9ec66 commit 2187aef

1 file changed

Lines changed: 21 additions & 21 deletions

File tree

README.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,6 @@ Softbuffer integrates with the [`raw-window-handle`](https://crates.io/crates/ra
66
to allow writing pixels to a window in a cross-platform way while using the very high quality dedicated window management
77
libraries that are available in the Rust ecosystem.
88

9-
## Alternatives
10-
11-
[minifb](https://crates.io/crates/minifb) also allows putting a 2D buffer/image on a window in a platform-independent way.
12-
Minifb's approach to doing window management itself, however, is problematic code duplication. We already have very high quality
13-
libraries for this in the Rust ecosystem (such as [winit](https://crates.io/crates/winit)), and minifb's implementation
14-
of window management is not ideal. For example, it occasionally segfaults and is missing key features such as setting
15-
a window icon on some platforms. While adding these features to minifb would be possible, it makes more sense to use
16-
the standard window handling systems instead.
17-
18-
What about [pixels](https://crates.io/crates/pixels)? Pixels accomplishes a very similar goal to Softbuffer,
19-
however there are two key differences. Pixels provides some capacity for GPU-accelerated post-processing of what is
20-
displayed, while Softbuffer does not. Due to not having this post-processing, Softbuffer does not rely on the GPU or
21-
hardware accelerated graphics stack in any way, and is thus more portable to installations that do not have access to
22-
hardware acceleration (e.g. VMs, older computers, computers with misconfigured drivers). Softbuffer should be used over
23-
pixels when its GPU-accelerated post-processing effects are not needed.
24-
25-
## License & Credits
26-
27-
This library is dual-licensed under MIT or Apache-2.0, just like minifb and rust. Significant portions of code were taken
28-
from the minifb library to do platform-specific work.
29-
309
## Platform support
3110

3211
Softbuffer supports many platforms, some to a higher degree than others. This is codified with a "tier" system. Tier 1 platforms can be thought of as "tested and guaranteed to work", tier 2 as "will likely work", and tier 3 as "builds in CI".
@@ -157,3 +136,24 @@ same MSRV policy.
157136
## Changelog
158137

159138
See the [changelog](CHANGELOG.md) for a list of this package's versions and the changes made in each version.
139+
140+
## Alternatives
141+
142+
[minifb](https://crates.io/crates/minifb) also allows putting a 2D buffer/image on a window in a platform-independent way.
143+
Minifb's approach to doing window management itself, however, is problematic code duplication. We already have very high quality
144+
libraries for this in the Rust ecosystem (such as [winit](https://crates.io/crates/winit)), and minifb's implementation
145+
of window management is not ideal. For example, it occasionally segfaults and is missing key features such as setting
146+
a window icon on some platforms. While adding these features to minifb would be possible, it makes more sense to use
147+
the standard window handling systems instead.
148+
149+
What about [pixels](https://crates.io/crates/pixels)? Pixels accomplishes a very similar goal to Softbuffer,
150+
however there are two key differences. Pixels provides some capacity for GPU-accelerated post-processing of what is
151+
displayed, while Softbuffer does not. Due to not having this post-processing, Softbuffer does not rely on the GPU or
152+
hardware accelerated graphics stack in any way, and is thus more portable to installations that do not have access to
153+
hardware acceleration (e.g. VMs, older computers, computers with misconfigured drivers). Softbuffer should be used over
154+
pixels when its GPU-accelerated post-processing effects are not needed.
155+
156+
## License & Credits
157+
158+
This library is dual-licensed under MIT or Apache-2.0, just like minifb and rust. Significant portions of code were taken
159+
from the minifb library to do platform-specific work.

0 commit comments

Comments
 (0)