Post by atom0s on Feb 9, 2015 14:36:36 GMT 10
While working on REHDHook, I came across a fairly big disappointment with this game / engine. There is nearly no caching happening at all. Which could be a contributor to the massive FPS problems that are fairly wide spread.
For example, when the game loads the following files a read / opened:
When loading a saved game, and entering the room the following is loaded:
Leaving the room to another loads:
Now going back to that previous room:
We see that all of the data from the first room is reloaded, yet again. Rather then having the data caching for future use, it is simply reloaded.
Next, the biggest 'wow' is that switching between cameras showed:
Showing that every time you switch a camera view, the game reloads data for that camera / room.
The concern here with all this is that not only are they reading a file, they have to:
- Read their custom formats (arc and so on.)
- Decrypt / decompress the data within the .arc
- Parse out the specific part of the .arc file that is requested.
- Load the data internally in the game.
- etc.
Over and over this is a huge amount of overhead that can be completely avoided with caching. Another concern is memory leaks. The game kind of shows there is potentially memory leaks occurring just by entering the game. When starting I have a solid FPS count, however switching 1 camera angle and I will drop a ton of FPS, just 1 simple camera switch.
For this game having such huge requirements it's a shame that their technology of their engine does not make use of said requirements in any efficient manner.
For example, when the game loads the following files a read / opened:
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\shader\BHDShaderPackage.mfx
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sa\DX9\root.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\system\texture\sysfont_AM_NOMIP.tex
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\system\texture\DefaultCube_CM.tex
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\system\texture\compare_NUKI_NOMIP.tex
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\system\texture\detail_sysfont_AM_NOMIP.tex
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\common.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\common.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\id\e_rom\common.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\logo\logo.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\logo\logo_eng.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\movie\02\14_b.wmv
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\movie\02\14_b.wmv
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\movie\eng\wav\titleLR_51.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\movie\eng\wav\titleLR_51.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\movie\eng\wav\titleLR_51.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\eng\core\core00.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\title\title_eng.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\title\title.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\id\e_rom\title\title.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\id\e_rom\option\op_upload.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\ingamecommon.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\ingamecommon\ingamecommon_eng.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\ingamecommon\ingamecommon.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\id\e_rom\ingamecommon\ingamecommon_eng.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\id\e_rom\ingamecommon\ingamecommon.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sa\DX9\Game.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\effectcommon.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\pl\pl00.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\eng\core\core01.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\wep\wep03.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\wep\wep03.arc
When loading a saved game, and entering the room the following is loaded:
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\room\st05\r50e.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\eng\r5\r50e.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\text\eng\mes\mes_r50e.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i018p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i016p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i020p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i025p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i068p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i033p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50e\r50e01.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg31\sg31.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg31\sg31.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg31\sg31.sngw
Leaving the room to another loads:
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50e\r50e00.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\do\do514.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\room\st05\r50c.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\eng\r5\r50c.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\text\eng\mes\mes_r50c.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\em\em16.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\em\em18.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50c\r50c01.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg79\sg79.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg79\sg79.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg79\sg79.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg1e\sg1e.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg1e\sg1e.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg1e\sg1e.sngw
Now going back to that previous room:
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\do\do514.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\room\st05\r50e.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arcPC\sound\se\eng\r5\r50e.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\id\e_rom\text\eng\mes\mes_r50e.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i018p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i016p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i020p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i025p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i068p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\model\item\i033p.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50e\r50e00.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg31\sg31.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg31\sg31.sngw
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\sound\bgm\wav\sg31\sg31.sngw
We see that all of the data from the first room is reloaded, yet again. Rather then having the data caching for future use, it is simply reloaded.
Next, the biggest 'wow' is that switching between cameras showed:
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50e\r50e01.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50e\r50e00.arc
[9184] C:\Program Files (x86)\Steam\SteamApps\common\Resident Evil Biohazard HD REMASTER\nativePC\arc\scr\st05\r50e\r50e01.arc
Showing that every time you switch a camera view, the game reloads data for that camera / room.
The concern here with all this is that not only are they reading a file, they have to:
- Read their custom formats (arc and so on.)
- Decrypt / decompress the data within the .arc
- Parse out the specific part of the .arc file that is requested.
- Load the data internally in the game.
- etc.
Over and over this is a huge amount of overhead that can be completely avoided with caching. Another concern is memory leaks. The game kind of shows there is potentially memory leaks occurring just by entering the game. When starting I have a solid FPS count, however switching 1 camera angle and I will drop a ton of FPS, just 1 simple camera switch.
For this game having such huge requirements it's a shame that their technology of their engine does not make use of said requirements in any efficient manner.