Posts: 574
Threads: 5
Joined: Jan 2012
Reputation:
42
Location: Ireland
01-18-2014, 02:28 AM
(This post was last modified: 01-19-2014, 02:34 PM by Asmodean.)
build removed, to avoid confusion.
Updated the testing build above. Some small changes/finished the description etc.
I'll do the dx9 code for it tomorrow, along with trying out some halftexel stuff.
Posts: 21.718
Threads: 401
Joined: Sep 2013
Reputation:
476
Location: 私の夢の中
01-18-2014, 06:54 AM
(This post was last modified: 01-18-2014, 06:54 AM by Blyss Sarania.)
Nice, I was playing SMT:Nocturne just the other week and was annoyed by the shadow thing.
Gaming Rig: Intel i7 6700k @ 4.8Ghz | GTX 1070 TI | 32GB RAM | 960GB(480GB+480GB RAID0) SSD | 2x 1TB HDD
Posts: 17
Threads: 0
Joined: Dec 2013
Reputation:
1
01-18-2014, 01:49 PM
(This post was last modified: 01-18-2014, 02:06 PM by HTB123.)
I'm trying to fix the slowdown issue with Shadow Hearts in HW rendering mode
I know what the problem is, I'm just having trouble trying to figure out how to deal with it
essentially, the problem stems from having backgrounds which are sprites
the game splits the screen into 40x38 (or something like that) blocks and then loads an individual object for each
The problem is, each of these sprite objects are of the same background image, which is something like 1536x1920 pixels and each of the objects selects a small sub-area of that image. The problem with this is that you're loading the same 1536x1920 image 1520 times for each frame which is what causes the tremendous frame rate loss
There's then a few possible solutions;
1. find some way to render the full image with a much smaller number of objects (ie. 40 sprites with each sprite being 1920 pixels across instead of 1520 sprites)
or
2. Cut the original image up earlier so you're not loading the full 1536x1920 image every time
3. Convert the sprites into triangles (polygons) like in the FF12 hack (this is probably the one I'm going to try and figure out how to do)
These are the possible solutions but I don't know how to implement them; any ideas from the devs who are more familiar with the code?
Posts: 3.526
Threads: 6
Joined: Dec 2013
01-18-2014, 06:48 PM
(This post was last modified: 01-18-2014, 07:01 PM by dabore.)
interesting description @htb123.
i guess this' a "scrolling tiles" background. a technique similar to the gba. it's pretty tough for gsdx. the problem perhaps is that it's uploading the border fragments in rows or columns at the edges. in the memory it looks even more wierd cause the rendered offset is different then the memory. it's scrolling. i guess the style of loading is not texture cache firendly.
whether you gotta make it a complete and seperate flux texture surface and use subrect uploads. or throw the cache technique over and do that with smaller fragments instead of transfer like texture surfaces. i dunno if this is controllable tho.
the easiest to check is if it's using a texture format that needs to be "converted" to render. i tought something was in gsdx too. in that case you'd need a routine that does that per 16x16 fragmented style, not the whole texture page.
Posts: 574
Threads: 5
Joined: Jan 2012
Reputation:
42
Location: Ireland
Got the AF working on Dx9. It was a bigger pain to get working for d3d9, than it was for d3d11, as per usual.
I'll upload a build in a bit. I'll up a patch and source when I'm finished working on it.