rust - 在 Rust 的 SDL2 窗口中操作原始像素的最有效方法是什么?
问题描述
我想有效地操纵(在 CPU 上)显示在 SDL2 窗口中的原始像素。那里有很多关于 SDL2 的信息,但主要是针对 C++ 的,并且与 Rust 绑定的关系并不总是很清楚。
我发现从窗口中,我可以创建一个画布,它可以创建一个 纹理,其原始数据可以按预期进行操作。必须将该纹理复制到画布中才能显示它。
这行得通,但似乎可以使用窗口的内容直接访问像素缓冲区并对其进行变异。是这样吗?这可能会更快一些,并随窗口自动调整大小。其他一些答案让我相信Surface已经暴露了这些原始像素,但是
- 这些答案总是告诫说,使用 Surface 是低效的——即使对于我的用例也是如此吗?
- 我不知道如何获得正确的 Surface。有 Window 的表面方法,但如果它包含对 EventPump 的引用,那么之后我如何在主循环中使用 EventPump?
解决方案
推荐阅读
- sql - 在 PostgreSQL 中删除与下一行具有不同值的行
- android - 在某些情况下(单例)可以在 Android 上从 Globalscope 启动协程吗?
- javascript - 如何将 CSV 图形转换为 HTML?
- css - 悬停填充按钮背景从下到上,文本颜色从下到上
- vb.net - VB.Net signedXml“Base-64 字符串中的无效字符”
- matlab - 如何对 cfit 的结果求平方?
- java - 使用 DateTimeFormatterBuilder 解析缺失日期的日期,默认为月末
- powershell - 在 Outlook 中创建 Skype 会议的 PowerShell 脚本
- javascript - 带有 d3.json 的错误柱形图不呈现
- android - 如何仅在 AndroidManifest.xml 文件中获取 android 设备中已安装应用程序的权限?