Это нормально для метода BufferedStrategy.show (), который занимает так много времени? - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть 2D пиксельная игра, которая рендерит около 170 объектов в секунду, и все это занимает около 0,2 мс. Однако в основном методе рендеринга у меня есть объект BufferedStrategy, и я использую его метод .show, который занимает около 5 мс.в среднем.Вот основной метод рендеринга:

private void render() {
        bs = display.getCanvas().getBufferStrategy();
        if(bs == null) {
            display.getCanvas().createBufferStrategy(3);
            return;
        }
        g = bs.getDrawGraphics();

        //Clear screen
        g.clearRect(0, 0, width, height);

        //Render current state
        if(State.getState() != null)
            State.getState().render(g);

        long s = System.currentTimeMillis();
        bs.show();
        System.out.println("time: " + (System.currentTimeMillis() - s));
        g.dispose();
    }

Вывод этого на avarage: "time: 5"

Это нормально для bs.show (), чтобы занять столько времени, учитываячто все остальные части программного обеспечения едва ли используют 1 мс?

...