小编Ald*_*den的帖子

SDL_GL_SwapBuffers()间歇性地慢

我有一个sdl/opengl游戏我正在努力工作.我平均得到了一个不错的fps,但是运动真的很不稳定,因为SDL_GL_SwapBuffers()会随机地花费很长时间来处理.加载纹理并将其写入缓冲区有时需要超过100毫秒!我删掉了很多代码,试图弄清楚是不是我做错了但是运气不好.当我运行这个裸骨程序时,它有时会阻塞长达70毫秒.

主要:

// Don't forget to link to opengl32, glu32, SDL_image.lib

// includes
#include <stdio.h>

// SDL
#include <cstdlib>
#include <SDL/SDL.h>

// Video
#include "videoengine.h"

int main(int argc, char *argv[])
{
    // begin SDL
    if ( SDL_Init(SDL_INIT_VIDEO) != 0 )
    {
        printf("Unable to initialize SDL: %s\n", SDL_GetError());
    }

    // begin video class
    VideoEngine videoEngine;

    // BEGIN MAIN LOOP
    bool done = false;
    while (!done)
    {
        int loopStart = SDL_GetTicks();

        printf("STARTING SWAP BUFFER : %d\n", SDL_GetTicks() - loopStart);
        SDL_GL_SwapBuffers();


        int total …
Run Code Online (Sandbox Code Playgroud)

c++ opengl sdl

6
推荐指数
1
解决办法
3794
查看次数

两种算法的Big-O分析

我为leetcode问题17创建了两个解决方案,其中它要求您从电话号码组合生成所有可能的文本字符串,例如"3"结果["d","e","f"].

我的第一个解决方案使用递归算法生成字符串,如下所示:

class Solution {
public:
    void fill_LUT(vector<string>& lut) {
        lut.clear();
        lut.push_back(" ");
        lut.push_back("");
        lut.push_back("abc");
        lut.push_back("def");
        lut.push_back("ghi");
        lut.push_back("jkl");
        lut.push_back("mno");
        lut.push_back("pqrs");
        lut.push_back("tuv");
        lut.push_back("wxyz");
    }

    void generate_strings(int index, string& digits, vector<string>& lut, vector<string>& r, string& work) {
        if(index >= digits.size()) {
            r.push_back(work);
            return;
        }

        char idx = digits[index] - '0';
        for(char c : lut[idx]) {
            work.push_back(c);
            generate_strings(index+1, digits, lut, r, work);
            work.pop_back();
        }
    }

    vector<string> letterCombinations(string digits) {
        vector<string> r;
        vector<string> lut;
        fill_LUT(lut);

        if(digits.size() <= 0) …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm recursion big-o

5
推荐指数
1
解决办法
193
查看次数

标签 统计

c++ ×2

algorithm ×1

big-o ×1

opengl ×1

recursion ×1

sdl ×1