On a 32bits OS, the memory available for the shaiya client is 2Gb (an OS with PAE - (Physical Address Extension disabled by MS since XP SP1) or using the /3Gb switch in boot.ini can use more than 2Gb for all applis but still 2Gb max per appli).
On a 64bits OS, the appli can use 2Gb or 4Gb if it is "Large Address Aware".
It appears that the game.exe appli is *not* LAA.
Code:
S:\game\AE\aeria_us>dumpbin /headers game.exe
Microsoft (R) COFF/PE Dumper Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file game.exe
PE signature found
File Type: EXECUTABLE IMAGE
FILE HEADER VALUES
14C machine (x86)
6 number of sections
519B45EE time date stamp Tue May 21 12:01:18 2013
0 file pointer to symbol table
0 number of symbols
E0 size of optional header
10F characteristics
Relocations stripped
Executable
Line numbers stripped
Symbols stripped
32 bit word machine
(the 'characteristics' flag of the PE Header has its bit 6 settled to '1' (0x20) if LAA is used)
So the client never uses more than 2Gb, and it quite never approachs that figure, only items loaded at login (before the display of the character selection page) stay in memory during the full appl life, all items loaded in a map are released when the char. leaves the map (this include map itself, all shapes from scenery / surroundings, ...).
Regarding graphic performance, the appli is not very smart, it seems to use only basic services of DirectX 9 and I never saw any differences between (highly different) configurations. All gamers-cards drivers come with specific settings for a lot of games (to optimize their performances), I never saw the Shaiya client present in one of these lists.
Despite this memory use and not highly optimized 3D rendering, the issue is not there. The appl lags whenever it receives a lot of data from the server, basically because the socket thread has too high priority (as compared to the display one) and because the reception method is may be not optimal; it looks like it behaves like a very old fashion socket, it asks the server if data are available and then request these data, between these 2 steps the appli is in not-responding state and has a lot of lag if the server (and the network) is not extremely fast.
In short the network is the main (sole) reason of the game slowdown. So, do not use a shared wifi (10-50 Mb) connection if you can use a wire (1Gb) connection and prefer game servers that use gigabit connections.