mehmet Posted January 30, 2019 Share Posted January 30, 2019 Hi all, I want to check my code for performance. GetTickCount it shows cpu loading or code reading speed? I do not understand what value is normal. How to understand that my code is good? by performance For example, speedometer takes 2.50% cpu is this normal? Link to comment
Moderators IIYAMA Posted January 30, 2019 Moderators Share Posted January 30, 2019 @mehmet tickCount shows execution timing. local timeNow = getTickCount() for i=1, 1000 do local newFunction = function () end end outputChatBox("It took: " .. (getTickCount() - timeNow) .. " ms, to execute this code.") 2.5% CPU is high, but not critical. You should be more worried about resources that show ~10%+. The gamemode `tactics` is a bad example of that. Link to comment
mehmet Posted January 30, 2019 Author Share Posted January 30, 2019 @IIYAMA "You should be more worried about resources that show ~10%+." - Which show ~10% CPU? "The gamemode `tactics` is a bad example of that." - This is not understood. Please explain Link to comment
Scripting Moderators ds1-e Posted January 30, 2019 Scripting Moderators Share Posted January 30, 2019 10 minutes ago, mehmet said: @IIYAMA "You should be more worried about resources that show ~10%+." - Which show ~10% CPU? "The gamemode `tactics` is a bad example of that." - This is not understood. Please explain You can use 'ipb' resource in-game. Type start ipb, then type ipb in console. It shows usage of CPU, for client/server. In options you can type -d, by that you will know source (first line of function). Link to comment
mehmet Posted January 30, 2019 Author Share Posted January 30, 2019 (edited) 5 minutes ago, majqq said: You can use 'ipb' resource in-game. Type start ipb, then type ipb in console. It shows usage of CPU, for client/server. In options you can type -d, by that you will know source (first line of function). Thanks, I know that. I just don't know what values are valid. ipb shows execution timing? Edited January 30, 2019 by mehmet Link to comment
Moderators IIYAMA Posted January 31, 2019 Moderators Share Posted January 31, 2019 (edited) 1 hour ago, mehmet said: @IIYAMA "You should be more worried about resources that show ~10%+." - Which show ~10% CPU? "The gamemode `tactics` is a bad example of that." - This is not understood. Please explain I am not a professional at hardware performance, so the information below might not be 100% correct. You have per CPU core an amount of processing power available. If you have a duo core then your pc have 2 cores. And for a quad-core you have 4 of those. (virtual cores excluded) Your system will assign application processes to those cores. (MTA is an application) MTA can only use one of those cores. So that is your limit. If you have a lot of cores it doesn't usually mean you have more performance in MTA. But it can it can relieve pressure by being able to keep other applications at different cores. If my interpretation is correct, then 100% is the available amount of (1 CPU core) power assigned for your resources. This is most likely not 100% of this single CPU core. yes I know, it is complicated stuff. Crossing that value should result in high frame dropping. Please correct me if I am wrong. Edited January 31, 2019 by IIYAMA 1 Link to comment
mehmet Posted January 31, 2019 Author Share Posted January 31, 2019 just tell me which indicators you should rely on after writing the code. I need to understand the code is good or bad Link to comment
Moderators IIYAMA Posted January 31, 2019 Moderators Share Posted January 31, 2019 7 hours ago, mehmet said: just tell me which indicators you should rely on after writing the code. I need to understand the code is good or bad Alright, Go to this page: https://wiki.multitheftauto.com/wiki/Resource:Performancebrowser Next to high CPU usage, your code can also be creating a memory leak. This means that your code is not able to clean itself. Just like buy stuff your entire life, but you never throw it away. At the end it gets piled in your basement... https://wiki.multitheftauto.com/wiki/Resource:Performancebrowser#Category_-_Lua_memory To check this: -1. Go to this page: https://wiki.multitheftauto.com/wiki/Resource:Performancebrowser#Category_-_Lua_memory 0. Start your resourcebrowser. 1. Set category: lua memory 2. Start all your resources you would normally need. 3. Wait a minute or two for the memory values to be normalised. 4. Make a screenshot of the values, this is your first sample. 5. repeat step 4 multiple, with a delay of your choice. 6. Now compare the samples. The column current should always get down at a given point. If it keeps increasing forever, then you have a memory leak in your code. Check also column timers, it is not recommended to have here a leak. This can/will crash your server after a while. 1 Link to comment
mehmet Posted January 31, 2019 Author Share Posted January 31, 2019 (edited) @IIYAMA Need to watch memory and cpu? Edited January 31, 2019 by mehmet 1 Link to comment
Moderators IIYAMA Posted January 31, 2019 Moderators Share Posted January 31, 2019 4 hours ago, mehmet said: @IIYAMA Need to watch memory and cpu? For the samples just memory, but it doesn't hurt to do both. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now