- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 SDL2 编写光线转换游戏。绘制地板时,我需要按像素调用 SDL_RenderCopy。这会导致帧率下降到 10 fps 以下的瓶颈。我正在寻找性能提升,但似乎找不到。
以下是性能下降的粗略概述:
int main() {
while(true) {
for(x=0; x<800; x++) {
for(y=0; y<600; y++) {
SDL_Rect src = { 0, 0, 1, 1 };
SDL_Rect dst = { x, y, 1, 1 };
SDL_RenderCopy(ren, tx, &src, &dst); // this drops the framerate below 10
}
}
SDL_RenderPresent(ren);
}
}
最佳答案
您可能应该为此使用纹理流。基本上,您将创建一个 SDL_TEXTUREACCESS_STREAMING
类型的 SDL_Texture
,然后在每一帧“锁定”纹理,更新您需要的像素,然后再次“解锁”纹理。然后在单个 SDL_RenderCopy
调用中渲染纹理。
除此之外,每帧调用 SDL_RenderCopy
480,000 次总是会降低帧率。
关于c++ - 为什么我在所有像素的双 for 循环中使用 SDL2 和 SDL_RenderCopy 时性能不佳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27651163/
我很确定这一点也不意外,我可能误解了一些东西。我正在尝试调用其中一个重载的构造函数: SDL_RenderCopy(SDL_Renderer*, SDL_Texture*, SDL_Rect*, SD
我在互联网和这里搜索过,只找到了 1 个很好的帖子 SDL_RenderCopy with an array of Rectangles 。 (据我所知)没有答案,但我的问题与那里相同。有什么办法可以
我正在调用 SDL_RenderCopy,它被调用并正常返回,但没有向窗口绘制任何内容。编辑以使问题和代码更清晰。我在想我可能会尝试使用超出其范围的东西,因此无法调用它,但这不会产生任何错误,所以我不
我是 C++ 的新手,我正在使用 SDL 2.0 学习它。尝试使用我的 Sprite 类绘制 Sprite 时遇到以下错误: 在 SDDDDL2.exe 中的 0x000000006C793659 (
这是我的 .cpp 文件: #include #include #include bool runningOnEmpty = false; const char* title; int x
这让我很难过.. 我有一个非常简单的 SDL2 程序。 它有一个包含 3 个 SDL_Texture 指针的数组。 这些纹理填充如下: SDL_Texture *myarray[15]; SDL_Su
我正在使用 SDL2 编写光线转换游戏。绘制地板时,我需要按像素调用 SDL_RenderCopy。这会导致帧率下降到 10 fps 以下的瓶颈。我正在寻找性能提升,但似乎找不到。 以下是性能下降的粗
我正在使用 SDL2 编写光线转换游戏。绘制地板时,我需要按像素调用 SDL_RenderCopy。这会导致帧率下降到 10 fps 以下的瓶颈。我正在寻找性能提升,但似乎找不到。 以下是性能下降的粗
我是一名优秀的程序员,十分优秀!