rhythm game prefab spawn slower after build

hello, im totally newbie in unity, my brother helped me in coding and now we stuck on a problem. we’re making a 2D mobile (android) rhythm game based on our folk songs. the problem is like in the title.

game demo: https://youtu.be/UJl461f8QZc

its just miliseconds late but its so uncomfortable, we only adjust the time just like the songs original beats per minute.

this is the code we write to define the time so we can write the time (ms) in the editor

   /* void Update()
    {
        transform.Translate(0 , -speed * Time.deltaTime , 0);
        timer += Time.deltaTime;
    }*/

    private void FixedUpdate()
    {
        rb.velocity = -transform.up * speed * 45f * Time.fixedDeltaTime;
        timer += Time.deltaTime;
    }

as you can see, the fixedDeltaTime doesn’t work either

and this is the code to spawn the tiles :

    public void Muncul()
    {
        int RG = Random.Range(0 , graphics.Length);
        int SD = Random.Range(0 , spawner.Count);

        GameObject t = Instantiate(tiles , spawner[SD].position , spawner[SD].rotation);

        t.GetComponent<SpriteRenderer>().sprite = graphics[RG];
    }

and to create how many tiles to spawn, we use code to record the song we played and then it detects the beats in song to spawn the tile per beat.

i appreciate any help, and sorry for my bad english

It’s probably caused by lag, instead of Instantiating the objects you should use an object pool. Side note, you should use descriptive variable names and proper naming convention, in the future when you ask for help people won’t know what things like RG and SD are, they may not realize they are variables even because they are capitalized.

@logicandchaos thank u so much for the input sir, i’ll let you know if that’s the problem.