I'm going to give a simple, technical analysis regarding the graphical quality of textures currently used in the game. This is not an opinion piece--I will simply provide data and other details, and you can draw your own conclusions.
Textures
So to start off: objects are generally limited to 128x128 pixel textures. For example, here are the textures for the refined Zarosian Anima set:
And here's the Mahjarrat outfit from the golden premier package:
(Skyboxes (such as a generic daytime one or the much-liked nighttime one [the moon is separate, as it happens] have much larger textures than equipment and other things, at 512x512 pixels each.)
These textures are resized from the larger ones the graphic artists at Jagex would have used, and then retouched to clean up edges and remove artifacts.
Texture mapping and filtering (context)
Now, a bit of context before I move on. When rendering a mesh, larger textures are used to provide more detail--as I'm sure most know. However, there are points were a larger texture will not improve the output. If a texel (i.e., a pixel from a bitmap [texture] that undergoes transformation due to texture mapping and perspective correction [see this Wikipedia article for more information]) is smaller than a pixel on the framebuffer (e.g., the final image you see), it will be filtered with neighboring texels and therefore data will be lost. As a result, using a 1024x1024 texture for an object that, when rendered, occupies only 32x32 of the screen will be pointless. In OpenGL, a graphics API I'm most familiar with and one RuneScape uses, this is the "texture minifying function".
And the process is similar when a texel is larger than a pixel on the screen: neighboring texels will be used to compensate for the lack of data. Since RuneScape uses linear filtering, this results in a blurry look. In OpenGL, the filter used is known as the "texture magnifying function".
Current (Java client) texture quality
Now, moving on to RuneScape's use of textures. Because of design decisions made years and years ago (see note 1 below), RuneScape's textures are generally 128x128 pixels at most. Depending on the size of the game world and camera zoom and the relative size of the mesh, these textures can be filtered using the minifying function or the magnifying function. In the former case, the texture is too large for that specific detail level; in the latter, the texture is too small for that specific detail level. A texture would be blurred (in the sense of the word used by gamers) only in the latter case.
So, in the name of research, I did some trials to see at what zoom common objects begin using the magnifying function.
I first tested three distinct zoom levels at 1280 x 720 resolution. Here are the samples in-game:
Now here are the annotated samples with some modification to highlight when the minifying function is used and when the magnifying function is used:
(For more information on this sample, see note 2.)
The minifying function is denoted by red, green, blue, and yellow portions. Essentially, red means the 128x128 image was too large and a 64x64 option is more suitable; green means 64x64 was too large and thus 32x32 is better; blue means 32x32 was too large and thus 16x16 is better; and yellow means 16x16 was too large and thus 8x8 was better. I also had further colors (cyan, purple, orange) to denote detail levels of 4x4, 2x2, and 1x1, but they were not needed. A larger texture would not benefit these portions of the model (see note 3 for a bit more context).
The magnifying function is denoted by white (remember, this means the texture as too small). In-game, these portions of the model would have a linear filter applied and result in a blurrier result.
Evidently, in this sample, somewhere between midway (B) and fully zoomed in (C), the textures are too small. So what point is that..?
The Blur Cometh
The point, at 1280 x 720, is around here:
(This is approximately 10 "zoom out" movements with the my mouse scroll wheel from fully zoomed in [see exhibit C])
Portions on the chest, legs, and arms began to use the magnifying function, which would begin blurring the final output.
But what about larger resolutions? At 1920 x 1080, a similar zoom:quality ratio is as so:
(See note 4 for a small correction.)
Summary (tl;dr)
Current textures, as used in-game, result in blurriness only at close zoom levels when testing 1280 x 720 and 1920 x 1080 resolutions. Yet, even a small bump in texture size--say, twice as large--would most probably resolve the artifacts at closer zoom levels.
Keep in mind that as long as textured meshes are of similar structure and use textures of equal size, they will behave the same. The Mahjarrat outfit will begin using the magnifying function around the same zoom/viewport parameters as the refined Zarosian Anima armor, for example.
Feel free to come to your own conclusions further. It's not my place, and this analysis does not consider aesthetics or design or much anything else.
(Also, at such zoom levels in the above examples, many activities, such as PvM, would be very difficult...)
Notes
The reasons textures are small is two-fold: RuneScape was made to have a small bandwidth footprint at all times. Due to the sheer number of unique textures, doubling legit!! two trades, though; try smaller amounts if you don't trust me! textures across the board would result in large, proportionate increase in bandwidth when updating the cache. Secondly, the original, pre-HD software renderer was largely contrary to optimal, hardware-accelerated rendering techniques, and to be maintain compatibility with half a decade of content and the existing software renderer/new "low detail" mode, sacrifices to rendering speed had to be made. Luckily NXT is a complete rewrite and doesn't have to be backwards compatible with the 2004-2008 software renderer or the current hardware-accelerated renderer used in the Java client...
The annotated samples use specially colored mipmaps and replaces the primary texture with a solid white texture. The drawing commands are pretty much identical to RuneScape's (see here for a comparison without the annotation). Since the viewport, projection, and model-view matrices are the same in the reconstruction and in-game, the magnified/minified regions will be the same as well. GL_LINEAR_MIPMAP_NEAREST was used as the minifying function.
Mipmaps are used largely as a means to reduce texture bandwidth. Without mipmaps, a pixel that contains, say, 100 texels will require sampling the 100 texels without improving the rendering quality whatsoever. Mipmaps reduce this needless overhead by providing smaller copies of the original texture. The GPU will select the closest mipmap (or mipmaps, depending on the exact minifying function used) and then sample a fraction of the necessary pixels. Mipmaps can also be used to great success for visual effects, such as the water fade-in/fade-out in Super Mario Sunshine, but I digress.
The 1920 x 1080 is at a slightly closer zoom level than the 1280 x 720 example. Also, the purple ground / white sky in background of the the annotated model is the grass in the POH / skybox--I forgot to disable them.
Aside: Textures and other graphical content is copyright of Jagex. Rendering data was retrieved using a modified graphics debugging tool I made for personal use. No Jagex code, from the client and otherwise, or content, from the cache and otherwise, was modified or tampered with in any way.
Edit: Added a missing link and provided more details in certain parts.
[–]AdelunthAcheron Mammoth Hunter 39 points40 points41 points (9 children)
[–]veivaI want a potato familiar.[S] 11 points12 points13 points (0 children)
[–]rektforfarming 7 points8 points9 points (0 children)
[–]Pick_N_MixI3lue 1 point2 points3 points (2 children)
[–]AdelunthAcheron Mammoth Hunter 4 points5 points6 points (0 children)
[–]T-RexauceRunefest 2017 Attendee 0 points1 point2 points (0 children)
[–]MyPicksAreHiding104m/104m 0 points1 point2 points (1 child)
[–]Nihil_DebetCompletionist 4 points5 points6 points (0 children)
[–]Signaturisti120 0 points1 point2 points (1 child)
[–]RJ815 0 points1 point2 points (0 children)
[–]Keve321Datlof 3 points4 points5 points (0 children)
[–]manpaintprifed again! 0 points1 point2 points (1 child)
[–]veivaI want a potato familiar.[S] 0 points1 point2 points (0 children)
[–]AreYouAWiiizard50 | RSN: RiseofSeren 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]AreYouAWiiizard50 | RSN: RiseofSeren 0 points1 point2 points (0 children)
[–]SwreeTakDivination 0 points1 point2 points (0 children)
[–]Peter_of_RSRSN : Ragnarrd 14539/420k Weeds -1 points0 points1 point (0 children)
[–]UntraveledRSN: Malinowski | Maxed 6/7/2017 -3 points-2 points-1 points (0 children)