So you study for 2h20 to 3h20 each day?? That's not really a lot. If your classmates say that they work much less than that, then they're lying. Of course there will be the occasional genius who doesn't have to work, but I don't believe that they all study less than 2 hours. Even in high school, I had quite a few days where I had to study for 3 hours or 4 hours.
But study time doesn't say much. The quantity of studying doesn't matter a lot, it is the quality of studying. If you study the wrong way, then some people might accomplish in 30 minutes what you accomplish in 3 hours!
I'm pretty sure that you study the wrong way. But I can't tell from your post what exactly you're doing wrong. So let me give you my way of studying a mathematics text, it has yet to fail me.
1) When I study a new chapter, I first read the main text, the definitions and the statement of the theorems. I don't read it thoroughly, I just want an idea what it is about.
2) I read the exercises of the chapter and I see if I understand what they ask of me. If I understand the problem statement, then I try to solve them using the theory I already know (= not the theory covered in that chapter). This helps me focus on what the chapter is about, what things I will learn to solve and why I should even care about the chapter.
3) Now I read the chapter thoroughly. I try to understand everything and I try to verify every statement in the text. I go through the proof and I try to see that every step is valid. However, I may not yet understand the main idea of the proof, that comes later. If there is something in the text that I'm stuck on, then I think about it. If I don't find it in a reasonable time, then I ask somebody.
4) Now I try to write up the theory in the chapter in my own words. I try to formulate the theorems and the proofs in my own words. I try not to look at the book unless I want to check the answer or unless I really don't know how to continue.
5) Now I try to expand on the theory. I read the theorems and I try to come up with examples of the theorems and why they are useful. I wonder if the converse of the theorem holds. I wonder if the theorem still holds if I weaken some conditions (and I try to find counterexamples if not). I go over the proofs and I try to get the big picture of the proof and I try to write down the main ideas of the proof in just a couple of lines. I try to see which techniques in the proof are handy and show up quite a lot. Etc.
6) I now make a mind map of the chapter and I make a short summary of the chapter. This is very useful when reviewing. Most of the time, just reviewing the summary can give you all the information you need!
7) I go back to the exercises and I try to solve them. I'm not going to waste my time on stupid things, so I only do the part of the exercise that I'm not very familiar with (for example, if you have to calculate a derivative, then I'm not going to waste my time with simplifying the final answer since I know that I know how to do that). I also try to see if there were other ways of solving the exercise and I see which way is shorter/more general. Also, if I know from the beginning how to solve an exercise, then I don't waste my time with it.
This is how I do things. As you see, studying this way really requires a lot of time and dedication if you want to do it right. But in the end it really is worth it.
Now, I'm not saying you should study the same as me. But you should look at your own study schedule and see if it compares a bit to mine. Maybe you notice that you study too superficially or maybe you waste your time on unnecessary things??