Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Insanely high texture upload time - (engine using an allocator to place its object in vram) R&C ACiT #8294

Open
Yahfz opened this issue May 26, 2020 · 34 comments

Comments

@Yahfz
Copy link
Contributor

Yahfz commented May 26, 2020

This issue is more of a reminder-only to kd, as he knows exactly how to fix it so its best to keep it up here.

unknown

@Yahfz Yahfz changed the title Insane texture upload time - (engine using an allocator to place its object in vram) R&C ACiT Insanely high texture upload time - (engine using an allocator to place its object in vram) R&C ACiT May 26, 2020
@kd-11 kd-11 self-assigned this May 28, 2020
@Yahfz
Copy link
Contributor Author

Yahfz commented Jun 7, 2020

image
Killzone 2 and 3 also affected

@PawTM
Copy link

PawTM commented Jun 7, 2020

DiRT 3 seems to also be affected by this, going as high as 30ms.
u31232131nknown

@PawTM
Copy link

PawTM commented Jun 7, 2020

Split/Second: Velocity is also affected a lot.
SplitSecond

@PawTM
Copy link

PawTM commented Jun 7, 2020

And so is Far Cry 3: Blood Dragon, up to 30ms aswell.
grafik

@RainbowCookie32
Copy link
Contributor

Far Cry 2 is also affected
Screenshot from 2020-06-07 20-20-51

@dio-gh
Copy link
Contributor

dio-gh commented Jun 8, 2020

MotorStorm: Pacific Rift might also just be affected? Not sure. Steady 10K-14K us texture upload times though.

image

@Jacoby1218
Copy link
Contributor

image
F1 2014 may be affected, if it is then other codemasters racing games will be too

@kd-11 kd-11 added the In Progress This issue is actively being investigated at the moment. label Dec 17, 2020
@kd-11
Copy link
Contributor

kd-11 commented Feb 9, 2021

This is addressed by #9738
Upload times are still not amazing, but sub-10ms is good enough for me. Please verify.

@Yahfz
Copy link
Contributor Author

Yahfz commented Feb 9, 2021

This is addressed by #9738
Upload times are still not amazing, but sub-10ms is good enough for me. Please verify.

@kd-11 killzone 2-3 are indeed much better and sub 10ms. The bottleneck has shifted in the other games but farcry2 is still really bad hitting 81ms as you can see here:

@Satan86
Copy link

Satan86 commented Feb 9, 2021

Motorstorm Pacific Rift still has high texture upload times

@kd-11
Copy link
Contributor

kd-11 commented Feb 9, 2021

Some of these games may have the same root cause as the SSX issue. Its a similar bug to the one fixed in texture cache but now in the surface cache. Not overly complex to solve fortunately.

@kd-11
Copy link
Contributor

kd-11 commented Feb 13, 2021

Test with #9772

@kd-11 kd-11 removed the In Progress This issue is actively being investigated at the moment. label Apr 13, 2021
@kd-11
Copy link
Contributor

kd-11 commented Jul 30, 2021

This should have improved with recent additions, memory usage is closely monitored and cache eviction works now. I don't expect things to be completely fixed but at least should be improved.

@kd-11
Copy link
Contributor

kd-11 commented Mar 26, 2022

Let's get a rebench here. I've done some work to significantly improve surface cache traversal times recently, and previously I optimized the regular texture cache as well. Things should have changed.

@RainbowCookie32
Copy link
Contributor

Far Cry 2 is still doing 20-30k us of upload time, looks about the same as my last test.
Screenshot from 2022-05-05 11-49-41

Split/Second seems to be running fine aside from the graphical issues, no horrible upload times (on this area at least).
Screenshot from 2022-05-05 11-58-11

@kd-11
Copy link
Contributor

kd-11 commented May 5, 2022

Far Cry 2 is still doing 20-30k us of upload time, looks about the same as my last test.

200+ texture uploads per frame looks like something I need to investigate. The cause is likely different from the other games.

@RainbowCookie32
Copy link
Contributor

F1 2014 is at 4-5k us from my testing, way lower than previously reported (14k).
Screenshot from 2022-05-05 18-41-09

Dirt 3 is at 1-3k us, running fine aside from random crashes.
Screenshot from 2022-05-05 19-05-02

SSX is still a bit high, at 8-10k from my quick testing
Screenshot from 2022-05-05 18-56-54

@kd-11
Copy link
Contributor

kd-11 commented May 5, 2022

I looked into fc2, it has the same issues as kz2 & kz3 but worse. I'll come up with a solution.

@kd-11
Copy link
Contributor

kd-11 commented Jun 2, 2022

Is ssx still high?

@RainbowCookie32
Copy link
Contributor

Far Cry 2 is still cursed, I'll try to retest ssx again later

@RainbowCookie32
Copy link
Contributor

Same as my previous report, 8-10k us

image

@Darkhost1999
Copy link
Contributor

Darkhost1999 commented Aug 7, 2022

image
4512us FC2
Widows 11, Ryzen 5 3600, gtx 1660s
RPCS3.log

@Darkhost1999

This comment was marked as resolved.

@kd-11
Copy link
Contributor

kd-11 commented Aug 18, 2022

Some games require this combination:

  • Asynchronous texture streaming = true
  • Host GPU labels (advanced tab) = true
  • MTRSX = true (if your cpu can handle it, I'm not sure if it is needed)
    This drastically improves texture streaming performance on some setups, and gets some games like FC2 to a much better state.

@marcoluc97

This comment was marked as outdated.

@kd-11
Copy link
Contributor

kd-11 commented Aug 19, 2022

I don't think "a crack in time" still has high upload times. Correct me if I'm wrong on that one. I'm halfway through a fresh playthrough and there aren't too many issues other than some minor fps drops to report.

@marcoluc97
Copy link
Contributor

okay thanks i do not own that game so i look at comments here for others titles. the new #12530 PR improve something again in those games? updated the commet above

@Darkhost1999
Copy link
Contributor

image
Far cry 3 3308us texture upload time without using gpu texture scaling.
RPCS3.log
Far cry 3 can be ticked off

@Darkhost1999
Copy link
Contributor

Screenshot 2023-04-15 122550
Motorstorm 3579us and without enhancement settings that makes the number even lower
RPCS3.log
Looks good to me

@marcoluc97
Copy link
Contributor

marcoluc97 commented Apr 15, 2023

New tracking about improvement or change for these games involving high texture upload time values:

  • R&C: A Crack in Time
  • FarCry2 - 4,5k us
  • FarCry3 - 3,8k us
  • MotorStorm - 3,5k us
  • MotorStorm Pacific Rift - 15k @dio-gh @Satan86
  • Split/Second
  • DiRT 3
  • F1 2014
  • SSX - 8/10k us @RainbowCookie32
  • Killzone 2
  • Killzone 3

Please let me know if I have incorrect data.

Meta comment

@kd-11
Copy link
Contributor

kd-11 commented Apr 15, 2023

I forgot to ask for an update after #13473
The investigation that found the cause of slowdown was #13465

@Satan86
Copy link

Satan86 commented Apr 19, 2023

Screenshot_71
MOTORSTORM®: PACIFIC RIFT still has High Texture Upload Times, even using those settings mentioned earlier.

@redZONErare
Copy link

redZONErare commented Apr 19, 2023

There are a few tracks (more specifically the DLC volcanic variant tracks) in MotorStorm Pacific Rift where texture upload times are fluctuating significantly at random. Caldera Ridge Volcanic (the track in the video) is most guilty of this.

FPS_.30.19._.Vulkan._.0.0.27-14879._.MOTORSTORM._.PACIFIC.RIFT.BCUS98155.2023-04-18.19-40-27_Trim.mp4

Here's another run with Disable Dynamic Resolution Scaling patch enabled (fixes the issue)
https://user-images.githubusercontent.com/118693604/232965375-0f39b81f-ba21-4be2-bf94-3aadd7b89078.mp4

@ItsLaguna
Copy link

ItsLaguna commented Apr 23, 2024

SSX still suffers from this, lowest I've seen it hit is 6k but is normally around 8k ~ 12k though it can (and will) hit higher.

Default settings except for ZCull Accuracy set to Relaxed, VBlank to 240hz and the settings mentioned above (MTRSX, Async Texture Streaming and Allow Host GPU Labels).

Desktop.2024.04.23.-.16.24.13.334-1.mp4
Lowest

vlcsnap-2024-04-23-16h40m32s853


Highest

vlcsnap-2024-04-23-16h39m15s081

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests