FPS tanks when half way in first person

I was doing some work on a viewmodel script and everytime i went in and out of first person i noticed my fps would tank for a second, at first i thought it was my script but it wasnt(Ive tried it in a empty baseplate). I found out that sitting between the point of 3rd and first person where your character goes transparent completely tanks my fps, this happens in experiences and in studio. But for some reason it only happens on roblox when its on my main monitor, but works fine on my second.

First monitor (the issue)

HDR: off and on
Resolution: 2560 x 1440
Refresh rate: 100Hz


Second monitor (normal)

HDR: off
Resolution: 1920 x 1080
Refresh rate: 60Hz


GPU: NVIDIA GTX 1660 Super
CPU: Intel i5 - 10400F
Memory: 16GB
OS: Windows 11

1 Like

Maybe try this in some other games? It could be a problem with graphic drivers for the main monitor.

ive tried in different games, still happens but for some reason in afew random games instead of my fps staying down, it will only go down for a second and restore while in other games my fps stays down until i either go fully in first person or fully in 3rd person

and my drivers are up to date, but ig it wouldnt hurt to reinstall

ye you can give it a try, wouldn’t hurt at all. Btw what average gpu and cpu load percentages you have when you play these games?

forgot to say something, but this didnt work

jumps from: CPU: 4ms GPU: 3ms to CPU: 5.5ms GPU: GPU: 6ms
kinda thought it was just my gpu not being the best because my main monitor is double the res of my second, but ive tried it with the same res as my second monitor and it still happens

This might be related to the way roblox handles transparency effects. Since your whole character goes transparent, when you zoom in, the transparent effects get a lot of screen space and the renderer is not known for being the very best with transparency. Forward rendering iterates transparent pixels back to front, and with such a huge amount of them on screen, overdraw occurs which may end up with pixels being shaded multiple times. At 1440p, with a GTX 1660 Super, this will cause the drop you noticed (however FPS isn’t detrimentally dropped), especially since you had 240fps, where the frametime is around 4ms? Even tiny spikes halve FPS or more.

1 Like

I had rtx 3050 (the same as 1660 super) for a while with the same monitors(but with 75 hz and 165 hz) lol, but I didn’t experience the same issues for some reason…

idk, if this was the case, wouldnt this happen to all transparent objects in the game(to an extent)? I can overlap tons of randomly valued transparent parts over eachother with no issues, but asoon as my characters transparency changes, thats when it starts to get laggy

I was thinking that the screen resolution had to do with it, but it doesnt. I tried setting the resolution to be lower matching the same resolution as the monitor that does work, and it still was dropping frames

Im not 100% sure, but i think this is a new issue for me, i never seen this happen before and i usually spend allot of time trying to optimize the life out of my scripts which means i also spend allot of time looking at my fps, so i feel like this is something i would have noticed


also some more information, coming back into my game where i first discovered the issue, i have a viewmodel for some guns, in the script, i tween the transparencies of the left and right arms to be 1 and 0, during the time theyre tweening, my fps starts to drop.

Normal transparent parts work fine, aswell with glass. im starting to think this is only an issue for parts with humanoids

1 Like

Then, as you said it’s likely an issue with the humanoids. Roblox uses the LocalTransparencyModifier for character transparency, and like I said, when you zoom in the pixels get a lot of real estate and since roblox characters are not batched and always redrawn, and animated, the stutter occurs (best theory I can give).

The reason it might not happen for basic parts is likely because they are rendered differently and not part of the humanoid pipeline, they interact with the renderer more statically and are given less exemption. Your character also has higher triangle count. Another thing I just thought of is the tweens. Roblox constantly changes the transparency based off camera distance, and your character/camera moving closer to one another causes this. If they always readjust position (like with animations), they will end up having to do heavy calculations more than simple parts. This, combined with the render pipeline, is what I believe causes the issue.

Obviously, you can take it with a grain of salt, as I am not an engineer on Roblox and they recently blocked off Nvidia NSight so…

1 Like

i found that someone made a bug report that was similar to the issue im having, but it wouldnt explain why it works on one screen and not the other. So its still kinda different so im doubting its the same issue.

also some more information, i found that inside of studio it tanks my fps no matter what screen im on, but playing inside of the roblox player, it only drops my fps on my main screen and not the second.

even though it doesnt completely line up, ill mark this as the solution for now because i dont even know what else it could be

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.