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