Bottlenecking Guide

On the surface, a bottleneck is an imbalance or limitation of hardware. For example if you have a really strong graphics card but not a strong processor, then the processor could be spending too much time working on game logic to get around sending render commands to the GPU. A tale tale sign is you’re running an application and it’s not performing as fast as it could be.

Though “as fast as it could be” is kind of hard to objectively say so. If you’re playing a game, for instance, and you want to make sure the video card is working as fast as it can, you can check benchmarks of that video card against the game you’re playing from review sites. Usually they run on the top-end hardware, lowering the potential of a bottleneck.

Bottleneck issues usually show themselves in mainly two ways

  • The average performance isn’t as good as it should be
  • The frame rate isn’t consistent most of the time
  • Tools of the trade to figure out bottlenecks

GPU-z (https://www.techpowerup.com/gpuz/): This is useful for obtaining information about what’s going on in the GPU including clock speed, GPU load, and for some GPUs a performance cap reason. GPU-z also allows you to log data.

Task Manager: You can check out CPU load, system RAM usage, and tweak how many threads the application can use to further test. As of Windows 10 Fall Creator’s Update (1709), Task Manager includes a GPU usage section that can work as a substitute for GPU-z, although it’s less informative.

Performance Monitor (https://technet.microsoft.com/en-us/library/cc749249(v=ws.11).aspx): This is a tool built-in Windows that you can use to log data. I usually use this to log CPU usage since you can’t do this in Task Manager

FRAPS (http://www.fraps.com/): While it’s primary use is to monitor frame rate performance, it can also log frame times which can be useful for determining where performance drops.

  • The kinds of bottlenecking

Since bottlenecks are usually the result of some issue with hardware, let’s go over the various root causes. If you suspect you’re having a bottleneck issue, consider the application you’re running or the hardware setup you have to determine the root cause.

  • Maximum CPU loading

Symptom: All of the processor’s logical cores (or “threads”) are maxed out at 100%.

How to verify: Reducing the application’s processor affinity causes performance to tank linearly. i.e., If the application is maxing out 4 cores, disabling 1 reduces performance by about 25%.

How to fix: Upgrade the processor to something with more cores. While overclocking can help, it will not offer a lot of wiggle room.

Description: This is caused by the application needing so much of the processor’s time that it cannot send render commands to the GPU fast enough. For the most part, games will typically only process logic every so often on a fixed timer and logic often goes before graphics. So if the processor spends too much time processing the game logic, it doesn’t have enough time generating render commands. An example of this can be seen back in the days of 8-bit consoles. When too much action is going on the screen, the game slows down as the CPU needs more cycles to process logic before it can get to sending rendering commands.

Reliance on single core performance

Symptom: Either a few logical cores have high usage or the entire processor appears busy, but appears to flat line at a certain percentage.

How to verify: Reducing the application’s processor affinity does not cause performance to tank unless you really reduce the affinity. e.g., if the total processor load on say an 8 thread processor is only 60%, disabling one core does not affect performance at all.

How to fix: Increase the single core performance by either changing the processor with a higher IPC or increase the clock speed of the current processor

Description: This is caused by applications that cannot issue enough threads of work on average to saturate the processor. As a result, the processor can easily finish up the work but has to wait for the application to issue more threads. This can be caused by many things, usually due to over-reliance on synchronous software design.

Accessing storage

Symptom: Performance hiccups or outright drops for a few moments when moving around in the game’s environment. This is normally a problem in open-world games

How to verify: Go to different areas of the game, but do not backtrack (those areas are often left in RAM, so they load “instantly”). If you have a hard drive, you can hear it working while you play the game.

How to fix: This is most likely going to be an issue with the game being on slower storage media like hard drives. The easiest solution is to upgrade the storage to an SSD. If that’s not feasible, then defragging and having the defragger consolidate data should help. Windows’ built-in defragmenter should consolidate data.

Description: This is caused by the application needing something, but it hasn’t loaded it yet so it has to go to storage to retrieve it.

VRAM/RAM loading

Symptom: Performance starts off fine, but at some point it starts to stutter.

How to verify: Check if the VRAM/RAM usage is close to 100%

How to fix: For VRAM, lower resolution based settings (texture, shadow, screen) or turn off MSAA. For system RAM, get more RAM or close applications that you’re not using.

Description: Applications aren’t aware of how much actual RAM there is in the system, only the OS. As a result, when the application starts requesting more RAM and no more physical RAM is available, the OS starts evicting data from RAM onto storage. This takes a very long time in computer time and normally the application can’t do anything else while this is happening, causing hiccups.

[mai mult...]

Explanation of PCIe

Peripheral Component Interface – express (PCIe) is a bus that allows expansion cards inside your computer to communicate with other components. You use the PCIe system by putting cards into slots on the motherboard. These cards can be things like graphics cards, RAID cards, network cards, even co-processors.

Expansion cards can communicate with other system resources by using lanes Lanes are represented by an “x” followed by the number of lanes being used. Multiple lanes can be used by one card, and we call these configurations “modes”. The PCIe 3.0 specification allows for these modes and slots, in ascending order by bandwidth/length:

x1
x2
x4
x8
x16
x32 (for all intents and purposes this doesn’t actually exist).

When a card is placed into a slot and the computer booted up, the system negotiates with the card to determine which mode to operate in. If there is only one card in the system, and it is in a slot that supports it’s maximum mode, then the system will give it that mode, otherwise it will give it the maximum mode supported by the slot. For example: If a x16 card is in a x16 slot, then it will run in x16 mode. If, however, you place a x8 card in a x16 slot, then it will still run in x8 mode.

When multiple cards are used, things get a little more complicated, but it is eased by the fact that all cards can operate in any mode below their listed mode. Processors and motherboards each have a maximum number of lanes that they will support.

A PCIe lane is simply one channel of serial communication. The supported lane configurations are 1, 2, 4, 8, 16, and 32 (for all intents and purposes this doesn’t exist). Each configuration has it’s own slot. You can differentiate them by length, a 1 lane slot is the shortest while a 32 lane slot is the longest. There are also PCIe modes. A mode is simply how many lanes a card is actually using. It is independent from how many lanes are available to the card. Any card or slot may operate in any mode below it’s maximum mode, but must be in a slot that is the same physical size. Lanes and modes are denoted by an “x” preceding the number of lanes. For example: x1, x2, x4, x8, x16, or x32.

You can think of each lane like a two lane road (one lane in each direction). If we only have x1 lanes then we have a two lane road. If we have x2 lanes then we have a 4 lane highway. With x4 we have an 8 lane freeway. With x8 we have a 16 lane superhighway.

[mai mult...]

Raspberry Pi 5 16GB

So much power, and now with the RAM to back it up, but the price makes this a considered purchase for all but the most die-hard fans.

You may have just glanced over the price, so let’s make this clear. Yes, this is a Raspberry Pi 5 with 16GB of RAM for $120 (£115). That is $40 more than the 8GB model. There is no other difference between the models. We get the same CPU and we can use the same peripherals and accessories.

The Raspberry Pi 5 16GB is exactly the same as previous models of Pi 5. The same accessories and cases will work, and you can still overclock the CPU to get a free boost of speed. The only difference, from a user perspective, between the Raspberry Pi 5’s is the amount of RAM. In fact, you can spot the difference between lower specced Raspberry Pi 5s quite easily. Raspberry Pi has chosen to highlight the fact in the silkscreen. The “table” previously used to identify the RAM is gone, but the resistor used to identify is still present.

Under the hood though, the Raspberry Pi 5 16GB uses the same, lower-cost, D0 stepping as the Raspberry Pi 5 2GB, and this means that the 2 and 16GB models have more in common than the earlier models. The D0 stepping (BCM2712D0) removed “all the non-Raspberry Pi specific logic from the chip” according to Raspberry Pi co-founder Eben Upton, while leaving it functionally identical to the previous.

To really see what the difference is, you would need to de-lid the chip.The “dark silicon” is essentially the unused part of the chip, and the removal of non-Raspberry Pi specific logic means that there is a 33% reduction in die space. What was taken out? On the Raspberry Pi 2GB it was the Ethernet and USB logic, with both features being moved to the RP1 “Southbridge” chip.

If you have already invested in Raspberry Pi 5 AI HATs, NVMe storage, cases and cooling, then you can easily use them with the Raspberry Pi 5 16GB. The GPIO pinout, port locations and chip locations are all the same, and compatible with your add-ons.

More RAM is always better. Your machine has more space to swap data with the CPU, and you can run more applications, or heavier applications without bottlenecks. A 16GB Raspberry Pi 5, with its quad-core 2.4GHz CPU means that we have a true Raspberry Pi desktop. Throw in an NVMe drive and perhaps a little overclock, and your Raspberry Pi 5 16GB would be a viable desktop alternative.

[mai mult...]

Arzopa A1 Portable Monitor

When it comes to the best portable monitors, multiple manufacturers seem to be testing the lower limits of what’s possible regarding pricing. Arzopa has added some nice touches to this portable monitor, making it an excellent bargain for anyone seeking a secondary monitor for travel use.

The A1 sets itself apart from similar entries in this price segment due to its choice of materials for the chassis. While most value-priced portable monitors use a plastic chassis to keep costs down, the A1 uses an aluminum frame instead. This imparts a sense of quality you can’t get from cheap, thin plastic that flexes easily. The chassis is rigid and finished in matte black.

Thin bezels run along the sides and top, while a more significant “chin” resides below the 15.6-inch panel, which features Arzopa branding. We love to see integrated kickstands on portable monitors, and Arzopa includes one on the A1. It’s a long, rectangular kickstand that is top-hinged. The stiff hinge lets you configure the monitor to your ideal angle for the best viewing experience.

The A1 features three ports on its left side: two USB-C (DisplayPort Alt-Mode supported) and an HDMI port. Arzopa also includes USB-C to USB-C, USB-C to USB-A (for auxiliary power), and HDMI to Mini-HDMI cables in the box. There are three buttons located at the top left of the S1. There’s a multi-function power/input switch/return button, a rocker switch (which navigates the OSD or controls brightness/volume), and an OSD button.

The most popular size and resolution in the portable monitor space is 15.6 inches and Full HD (1920 x 1080). Not surprisingly, this is how Arzopa specs the A1, including a 60Hz panel refresh rate.

[mai mult...]

Lenovo ThinkPad X1 Carbon (Gen 13)

Lenovo’s ThinkPads are known for their superior build quality, industry-leading keyboards, unique TrackPoint nubs and excellent performance and battery life. The X1 Carbon has long been the flagship ThinkPad, thanks to its light weight, plethora of ports, and luxurious carbon fiber / magnesium chassis.

The 13th generation Carbon – dubbed the ThinkPad X1 Carbon (Gen 13) Aura Edition – shaves the already-low weight down by an impressive 0.25 pounds to just 2.17 pounds while leaving in place everything that makes this series great. Designed to compete with the best ultraportable laptops, it also upgdates to an Intel “Lunar Lake” Core Ultra processor, which allows for longer battery life but limits its RAM to 32GB. This is also one of a few “Aura Edition” laptops, which means that it has a handful of harmless, but not particularly exciting software features that Lenovo developed in collaboration with Intel.

The ThinkPad X1 Carbon (Gen 13) brings the typical ThinkPad aesthetic, with “eclipse” black, soft-touch material – mostly recycled carbon fiber and magnesium – used throughout the shell. A bright red status light adorns the ThinkPad logo on the lid, and there are touches of red on the inside – the TrackPoint pointing stick, the red stripes on the TrackPoint buttons, and the red dot in the ThinkPad logo on the deck. This is not an original look but it is a classy one, particularly when you feel the soft-touch material.

At 12.31 x 8.45 x 0.56 inches (312.8 x 214.75 x 8.08-14.37 mm) and 2.17 pounds (986g), the X1 Carbon (Gen 13) is very thin and light. Its dimensions are about the same as the Gen 12 model that preceded it, but it’s a full 0.25 pounds lighter. By comparison, the Dell XPS 13 (0.58 inches thick, 2.7 pounds) and ThinkPad T14s (0.67 inches thick, 2.72 pounds) are both larger.

Considering its svelte form factor, the X1 Carbon (Gen 13) has room for all the ports you might need, including two USB Type-A ports, two Thunderbolt 4 / USB-C ports, a 3.5mm audio jack, and a full-size HDMI port. The power button is located on the right side so you can easily power on the laptop, even if the lid is closed and it’s docked.

As usual, the ThinkPad X1 Carbon (Gen 13) is designed to withstand some abuse. According to Lenovo, it is tested against 12 MIL-STD durability tests, including those for extreme vibrations, humidity, sand / dust, and mechanical shock.

[mai mult...]

Klevv CRAS C925 SSD – Review

Klevv is an odd name with the double V at the end, and it’s a bit of a strange brand as well. In reality, it’s just part of the SK Group — a group which includes SK hynix — with a focus on retail drives. Klevv is known for its “strictly-selected 3D NAND flash,” which some observers might take to mean it’s a variable-hardware SSD in disguise. In reality, Klevv not only states that the C925 is using TLC flash but strictly-selected in this case means SK hynix flash. This is unique in that such flash is not commonly found in other NVMe SSDs and, when it is, it’s usually an older generation of flash. Klevv has access to more or less contemporary flash and this helps the brand stand out a bit.

As for the controller, Klevv isn’t using an in-house drive like many of SK hynix’s most popular drives, such as the Gold P31 and Platinum P41. Most recently, Klevv has been moving towards Maxiotech and the C925 is using the MAP1602 controller. This controller is well-known in storage circles as a popular high-end DRAM-less solution. That means it does technically lean budget, but it’s almost always found with Chinese YMTC flash. When we reviewed the C930 — a drive with the InnoGrit IG5236 controller, which is normally paired with Micron flash.

This drive is rare in that its street pricing is reasonable right out of the gate, at least for the 1TB model. Too often drives have an unreasonably high MSRP and then even the street prices are too high for what the drive delivers. The C925 knows what it is and is priced appropriately.

The C925 can reach up to 7,400 / 6,500 MB/s for sequential reads and writes and up to 700K / 1000K random read and write IOPS. This is pretty standard for a PCIe 4.0 SSD of this class. Where the drive isn’t standard is with the rated write endurance — the five-year warranty includes coverage of writes up to 1,200TB per TB capacity. This is double the normal value, but we emphasize that TBW is usually not that meaningful. Still, if it’s something you look at then the C925 is high for its range.

[mai mult...]

Asus ROG Harpe Ace Extreme -Review

The Asus ROG Harpe Ace Extreme is the mouse side of Asus’ “Extreme” peripherals — to match its $500 Asus ROG Azoth Extreme keyboard. This carbon fiber mouse is insanely lightweight (47g), with a classic, symmetrical shape and five programmable buttons (including the scroll click). Like the Asus ROG Keris II, the Ace Extreme sports Asus’ ROG AimPoint Pro optical sensor, which has a maximum resolution of 42,000 DPI and a maximum speed of 750 IPS, and can handle up to 50 G’s of force. It also features a wireless polling rate of up to 8,000 Hz with Asus’ ROG Polling Rate Booster (included).

The ROG Harpe Ace Extreme is made of carbon fiber, and it… looks like it’s made of carbon fiber. Well, it’s not made entirely of carbon fiber — the top half of its chassis is made of carbon fiber, while the lower half is made of lightweight plastic. This means the top of the mouse, including its two primary buttons, feature a distinctive carbon fiber weave pattern, while the bottom of the mouse is solid matte black plastic with light texturing on the sides.

The mouse features the same right-handed symmetrical design of its less-extreme counterpart, the Asus ROG Harpe Ace Aim Lab Edition.

It has the same dimensions as that mouse, measuring 5.01 inches (127.5mm) long by 2.51 inches (63.7mm) wide by 1.56 inches (39.6mm) high at its tallest point. Thanks to its carbon fiber construction, however, it’s lighter than the Harpe Ace Aim Lab Edition by 7g — the Harpe Ace Extreme weighs just 1.66 ounces (47g).

The Harpe Ace Extreme is not a small mouse, but it has a mild hump and a symmetrical shape that will work with a range of hand sizes. The sides curve in slightly and the mouse flares out at the top, making it easier to pick up and more comfortable to hold in claw and fingertip grips. It has a mild center hump that’s slightly pointed so your fingers will fall on either side of it.

The primary buttons are mostly flat, with a slight curve toward the center of each button to help keep your fingers in place. It’s easy to pick up because it’s so lightweight, and even though the carbon fiber is smooth and a little slippery, the textured sides offer enough grip that you shouldn’t have any trouble keeping this mouse in your hand. In the event that you do need a grippier surface, Asus includes precut grip tape with the mouse (for the sides and the primary mouse buttons).

[mai mult...]

Raspberry Pi Pico 2 W – Review

It is fair to say that the Raspberry Pi Pico disrupted the maker community in 2021. The $4 microcontroller was Raspberry Pi’s first foray into making its own chips (ok, the Raspberry Pi 5’s RP1 is technically the first, but it was released after the Pico) and it saw the Raspberry Pi Pico and its RP2040 become a hot property. The Raspberry Pi Pico W, released in 2022, brought Wi-Fi to the form factor, but it wasn’t until 2024 that we saw the successor to the Raspberry Pi Pico, the $5 Raspberry Pi Pico 2.

v

The Raspberry Pi Pico 2 brings a more powerful CPU, more RAM and flash storage. It also brings security features via Arm TrustZone and Secure Boot. But, there is no Wi-Fi, until now.

The Raspberry Pi Pico 2 W is essentially a Raspberry Pi Pico 2, with the same Wi-Fi package as the original Raspberry Pi Pico W, and the same RM2 package as used in Pimroni’s Pico Plus 2 W.

You can’t help but notice that the Raspberry Pi Pico 2 W looks just like the original Raspberry Pi Pico W. The key differences are branding text, surface mount component placement and FCC / ID reference numbers. Other than that they are identical. Including just the BOOTSEL button.

It’s a Raspberry Pi Pico, so you know that this can be programmed via MicroPython, CircuitPython, Arduino and many other languages. The short story is that the Raspberry Pi Pico 2 W can be programmed using the same languages and software as you are already using. They just need an update from their maintainers in order to get Wi-Fi functionality to work.

The RP2350 is a much more powerful chip when compared to the RP2040. While you don’t need huge amounts of processing power for most microcontroller projects, there are some where the added oomph will provide a benefit. Emulation, AI / Machine Learning / Computer Vision for example.

The Pico 2 W builds on that, by offering a solid Wi-Fi connection.

[mai mult...]

Crucial T500 SSD – review

The Crucial T500 4TB is here, for those who find that 2TB of storage just isn’t enough these days. Using Phison’s E25 controller, the T500 has a power-efficient architecture with DRAM, now available as a 4TB pseudo-budget SSD.

Crucial promised a 4TB model a year ago, and it has now delivered: the same great taste but in an extra large tin.

For the most part, nothing has changed but the capacity. The T500 was heralded as a top notch PCIe 4.0 SSD that could match or beat any other drive in its class, all while being more power-efficient. Half the channels with the same amount of fun, and unlike some of its competitors, it kept the DRAM intact. It’s a great successor to drives like the SK hynix Gold P31 for laptops, and it also works great for desktops and consoles.

Perhaps the most obvious potential misstep is the price. In some respects this is supposed to be a “budget” SSD, even though its performance is in line with heavy hitters. Often, it manages to look like a WD Black SN850X or Samsung 990 Pro substitute, but really it just brings DRAM to a potentially less expensive drive, taking on the likes of the Teamgroup MP44. This becomes more obvious when looking at its sustained write performance irregularities, although for the most part you’re not going to notice that in daily use. Still, its price is higher than it should be at 4TB, which keeps it from being the best option in many cases, even if it delivers exemplary all-around performance.

The 4TB Crucial T500 is currently priced at $309 for the non-heatsinked version and $301 for the heatsink model. Those prices can and will change — a week or two back, the non-heatsink model was going for $289 and the heatsink variant cost $319. Whether you want the heatsink or not, check the current pricing, as you can easily remove the heatsink if you really don’t want it. If the bare drive ends up costing less (as it logically should), a variety of M.2 heatsinks will get the job done, or you can use your motherboard’s M.2 heatsink if it has one. Do note that the 4TB model isn’t a single-sided design, however.

The Crucial T500 4TB can hit up to 7,000/6,900 MB/s for sequential reads and writes, and up to 1,050K/1,350K random read and write 4K IOPS. These numbers are slightly lower than the 2TB SKU, and the 1TB SKU as well for that matter. The reason is the hardware. The controller in use has four chip enable (CE) signals for each of the four channels, giving sixteen CE total. As the drive is using 1Tb dies there are 32 dies in total present, more than the CE count, which add some overhead.

The 4TB T500 has a warranty for five years and up to 2,400TB of writes, which is right in line with the smaller SKUs. The drive also supports TCG Opal 2.01 for hardware encryption.

[mai mult...]

How to choose the right Linux distro for you

Choosing among linux distros is a personal decision. But the general question is for what purpose you want Linux. There are many distros made just for a specific thing. Notable examples are:

  1. Ubuntu Studio : a linux distro made for people who love creating Audio, Graphics, Video, Photography and Publishing.
  2. Scientific Linux : a Linux release put together by Fermilab, CERN, and various other labs and universities around the world. Its primary purpose is to reduce duplicated effort of the labs, and to have a common install base for the various experimenters.
  3. CnC Linux : a software system for computer control of machines such as milling machines, lathes, plasma cutters, cutting machines, robots, hexapods, etc
  4. General purpose Linux : Most notable here is Ubuntu which is very easy to install, has its own app center and has steam supported. It’s a good platform also for gaming.
  5. If you are an experienced linux user and you want something more challenging then you can go to Arch-Linux and Gentoo. Both of them are minimal installations from which will provide you a minimal base system and you from a command line you gonna give linux the shape you want. You will chose the login manager, the desktop enviroment, the drivers. I would suggest Arch linux because the installation is very much easier from Gentoo and because of its awesome package manager the Pacman which seriously with one just command can update your entire system packages.
[mai mult...]