Iteration stop issue?

So, i have code that makes a bunch of pixels, and, it works on 128x64, but not on 256x128.
Issue photos:

photos

128x64: (pretty ok)
image

256x128: (stop at half)

Code is:

code
function screen:initPixels()
	warn("Initializing screen pixels.")
	
	for x = 1, self.resolution.x do
		task.wait()
		table.insert( self.pixels, {} )
		local yPixels = self.pixels[x]
		for y = 1, self.resolution.y do
			-- position = ( x - 1 ) * self.pixel_size.x, ( y - 1 ) * self.pixel_size,y
			-- size = self.pixel_size
			--print(x, y)
			local pixel = Instance.new("Frame")
			pixel.Name = tostring(x) .. "..." .. tostring(y)
			pixel.BackgroundColor3 = Color3.new(0, 0, 0)
			pixel.Position = UDim2.fromOffset((x-1) * self.pixel_size.x, (y-1) * self.pixel_size.y)
			pixel.Size = UDim2.fromOffset(self.pixel_size.x, self.pixel_size.y)
			pixel.BorderSizePixel = 1
			pixel.Parent = self.canvas
			
			yPixels[y] = pixel
		end
	end
	
	warn("Sreen pixels initialized.")
	warn("Resolution: " .. tostring(self.resolution.x) .. "x" .. tostring(self.resolution.y) .. ".")
	warn("Pixel size: " .. tostring(math.round(self.pixel_size.x)) .. "x" .. tostring(math.round(self.pixel_size.y)) .. ".")
end

And yes, in 128x64, it prints last warns when it finished, in 256x128 it got some time