# Slower and laggy Processing 3 sketch with a larger window

**URL:** https://discourse.processing.org/t/slower-and-laggy-processing-3-sketch-with-a-larger-window/17975
**Category:** Coding Questions
**Created:** [February 21, 2020, 2:42pm UTC](https://discourse.processing.org/t/slower-and-laggy-processing-3-sketch-with-a-larger-window/17975 "2020-02-21T14:42:49Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Ackados](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ackados/32/8282_2.png) [@Ackados](https://discourse.processing.org/u/Ackados)
#### Post date: [February 21, 2020, 2:42pm UTC](https://discourse.processing.org/t/slower-and-laggy-processing-3-sketch-with-a-larger-window/17975/1 "2020-02-21T14:42:49Z")

</div>

I am trying to create an app that can be resized depending on the user’s preference.  
The app for now is going to be a grid that can be moved around. At the default (and small) size, it runs pretty well and fast. But when I enlarge the window to fullscreen or just larger, it begins to slow down, and the framerate drops.

Can I fix this code so it can appear fast on all sizes? I hope to get this working on processing otherwise i’ll have to learn pure JavaFX or perhaps OpenFrameworks…

sketch (pde) file:

```auto
Grid grid;
float x, y, dx, dy, ox, oy, cx, cy;

void setup() 
{

    size(800, 600, FX2D);
    surface.setResizable(true);
    frameRate(60);
    smooth(1);
    
    grid = new Grid();
    x = 0;
    y = 0;
    cx = 0;
    cy = 0;
    ox = 0;
    oy = 0;

}

void draw() 
{

    background(40, 48, 50);
    translate(ox + x, oy + y);
    grid.ox = floor(ox + x);
    grid.oy = floor(oy + y);

    grid.draw();
    fill(255);
    ellipse(width / 2, height / 3, 20, 20);

}

void mousePressed()
{

    cx = mouseX;
    cy = mouseY;
    ox = 0;
    oy = 0;

}

void mouseDragged() 
{

    ox = mouseX - cx;
    oy = mouseY - cy;

}

void mouseReleased() 
{

    x += mouseX - cx;
    y += mouseY - cy;
    ox = 0;
    oy = 0;

}

```

grid (pde) file:

```auto
class Grid
{
   
   float size;
   float weight;
   color c;
   int startX, startY, ox, oy;

    Grid() 
    {
        size = 40;
        weight = 4;
        c = color(60, 68, 70);
        startX = 0;
        startY = 0;
        ox = 0;
        oy = 0;

    }
    
    void draw()
    {

        startX = floor((ox % size) - size);
        startY = floor((oy % size) - size);

        loadPixels();
        for (int x = 0; x < width; x++)
        {
            for (int y = 0; y < height; y++)
            {
                int index = x + y * width;

                if ((y - startY) % size < weight)
                {
                    pixels[index] = c;
                }
                else if ((x - startX) % size < weight)
                {
                    pixels[index] = c;
                }

            }
        }
        updatePixels();
    }
}

```

**Note:** I used pixels because I thought it would work faster but it doesn’t seem like it anymore…  
I have tried using each of these renderers: _default_, P2D, P3D, OPENGL, and FX2D and all yield the same laggy result with a larger resolution.  
My operating system is a Windows 10 Pro, and I have NVidia graphics card with an i7 8th gen and so I see no reason why it should be laggy. Maybe there is a better way to write this or optimize it?

**My goal** is to have hundreds of objects drawn on top of the grid, so I need it to work fast right now.

Do you have any input or feedback? Anything will be greatly appreciated!

---

<div class="post-metadata">

### Author: ![Ackados](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/ackados/32/8282_2.png) [@Ackados](https://discourse.processing.org/u/Ackados)
#### Post date: [February 28, 2020, 1:30am UTC](https://discourse.processing.org/t/slower-and-laggy-processing-3-sketch-with-a-larger-window/17975/2 "2020-02-28T01:30:49Z")

</div>

Bumped. If anyone has tried this before, I’m curious to see how.
