The problem is that the game has auto fix stuff that prevents you to go away from playable FPS, but it can often get wrong information from you CPU and GPU and force you to play with bad graphics...
The solution is indeed in the commandline.txt file or Launch Options from Steam.
You can add all the settings you want in there, so the game is forced to use those settings instead of the lowest ones.
I dont have this problem with " -nomemrestrict -norestrictions" in my commandline, but i once had, and to fix that i had to add my own settings in there.
-renderquality: Set the render quality of the game. (0-4)
-shadowdensity: Set the shadow density of the game. (0-16)
-texturequality: Set the texture quality of the game. (0-2)
-viewdistance: Set the view distance of the game (0-99)
-detailquality: Set the detail quality of the game. (0-99)
-novblank: Disable wait for vblank (No Vsync)
-norestrictions: Do not limit graphics settings
-width: Set width of main render window (default is 800)
-height: Set height of main render window (default is 600)
-safemode: Run the graphics in the lowest setting possible
-frameLimit: Limit frame to interval of refresh rate
(ex If refreshrate is 60HZ –frameLimit 1 = Locks down to 60HZ)
-refreshrate: Set the refresh rate of main render window
– Warning - Monitor must support (ex. –refreshrate 60)
-fullscreen: Force fullscreen mode
-windowed: Force windowed mode
-availablevidmem: Set amount of physical Video Memory(ex. –availablevidmem 0.9)
-percentvidmem: Percentage of video memory to make available to GTA
Fiddle around with these to get what you want
OR if you got a Nvidia card, you can use its auto-optimal thingy and it will force the game to run at its best for your system.