<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title></title>
    <link rel="self" type="application/atom+xml" href="https://jadey.net/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://jadey.net"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-07-17T00:00:00+00:00</updated>
    <id>https://jadey.net/atom.xml</id>
    <entry xml:lang="en">
        <title>Using Java 25 to make Minecraft run just a bit faster</title>
        <published>2026-07-17T00:00:00+00:00</published>
        <updated>2026-07-17T00:00:00+00:00</updated>
        
        <author>
          <name>Jade</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jadey.net/posts/optimised-java-version/"/>
        <id>https://jadey.net/posts/optimised-java-version/</id>
        
        <content type="html" xml:base="https://jadey.net/posts/optimised-java-version/">&lt;p&gt;Since versions of 1.20.5 and higher, Minecraft started to require Java 21.
After Minecraft v26.1, the Java requirement got boosted to Java 25.&lt;/p&gt;
&lt;p&gt;Java 25 has added some experimental command line arguments which make the game run a bit smoother.&lt;/p&gt;
&lt;p&gt;Here&#39;s how you can take advantage of them.&lt;/p&gt;
&lt;p&gt;The command line arguments I&#39;m talking about, of course, are:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#393A34, #DBD7CAEE); background-color: light-dark(#FFFFFF, #121212);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;-XX:+UseZGC -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In technical terms, what it does, is that it enables a different newer version of the garbage collector, as well as a different object representation format.&lt;/p&gt;
&lt;p&gt;It doesn&#39;t mean too much normally, but in a scenario where you&#39;re, for example, playing modded minecraft and the mods are constantly using the memory to the point where it quickly runs out of it, it cleans up the memory in a smoother way, thus making the game freeze less if it&#39;s constantly running out of memory.&lt;/p&gt;
&lt;p&gt;In addition to that, the compact object headers make the game just a bit more efficient at using the memory.&lt;/p&gt;
&lt;p&gt;The only problem is that if the game is expecting Java 21, you may get some complaining from your launcher, which is what I&#39;m gonna talk about next.&lt;/p&gt;
&lt;h1 id=&quot;how-do-i-do-the-thing&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#how-do-i-do-the-thing&quot; aria-label=&quot;Anchor link for: how-do-i-do-the-thing&quot;&gt;How do I do the thing??&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Let&#39;s start things off by fetching an installation of Java 25. For this, &lt;strong&gt;I recommend using the GraalVM build of Java specifically&lt;/strong&gt;, as it&#39;s a slightly different version of Java which can be a bit more efficient at running the game than OpenJDK (the version of Java used by most things.)&lt;/p&gt;
&lt;h2 id=&quot;step-1-install-java-25&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#step-1-install-java-25&quot; aria-label=&quot;Anchor link for: step-1-install-java-25&quot;&gt;Step 1: Install Java 25.&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If you can deal with the GitHub interface, you may go to &lt;a rel=&quot;external&quot; href=&quot;https://github.com/graalvm/graalvm-ce-builds/releases/tag/jdk-25.0.2&quot;&gt;the release page of GraalVM on GitHub&lt;/a&gt;, and fetch it from one of the releases, or alternatively, the convenience links in the very convenient table.&lt;/p&gt;
&lt;p&gt;I have a very convenient table of my own, though, ⬇️&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Platform&lt;/th&gt;&lt;th&gt;Java 25&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;🪟 &lt;strong&gt;Windows&lt;/strong&gt; (x64)&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_windows-x64_bin.zip&quot;&gt;Download ⤵️&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;🍏 &lt;strong&gt;MacOS&lt;/strong&gt; (aarch64)&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_macos-aarch64_bin.tar.gz&quot;&gt;Download ⤵️&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;🐧 &lt;strong&gt;Linux&lt;/strong&gt; (x64)&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-x64_bin.tar.gz&quot;&gt;Download ⤵️&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;🐧 &lt;strong&gt;Linux&lt;/strong&gt; (aarch64)&lt;/td&gt;&lt;td&gt;&lt;a rel=&quot;external&quot; href=&quot;https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-25.0.2/graalvm-community-jdk-25.0.2_linux-aarch64_bin.tar.gz&quot;&gt;Download ⤵️&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;After you download the archive, you need to extract it in a place that&#39;s not too important but not too unimportant.&lt;/p&gt;
&lt;h2 id=&quot;step-2-launcher-setup&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#step-2-launcher-setup&quot; aria-label=&quot;Anchor link for: step-2-launcher-setup&quot;&gt;Step 2: Launcher setup.&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;1-modrinth&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-modrinth&quot; aria-label=&quot;Anchor link for: 1-modrinth&quot;&gt;1. Modrinth.&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Go into the settings of your instance:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/article_images/modrinth_settings.png&quot; alt=&quot;Showcasing where the instance settings are in the Modrinth launcher&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And then in the Java and memory option, enable the &lt;strong&gt;Custom Java Installation&lt;/strong&gt;, and find where you extracted that Java archive, go into the bin folder within it, and select the &lt;code&gt;java&lt;/code&gt; executable (&lt;code&gt;java.exe&lt;/code&gt; on Windows)&lt;/p&gt;
&lt;p&gt;It may give you a red X, but it doesn&#39;t mean that it won&#39;t work just yet.&lt;/p&gt;
&lt;p&gt;Enable the &lt;strong&gt;Custom Java arguments&lt;/strong&gt;, and insert the following into it:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#393A34, #DBD7CAEE); background-color: light-dark(#FFFFFF, #121212);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;-XX:+UseZGC -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;/article_images/modrinth_settings_java.png&quot; alt=&quot;Showcasing the settings&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After this, you can try launching the game and it should hopefully work.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;If it doesn&#39;t work, try making sure you&#39;re pointing at the right executable.&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3 id=&quot;2-prism-launcher&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-prism-launcher&quot; aria-label=&quot;Anchor link for: 2-prism-launcher&quot;&gt;2. Prism Launcher.&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Right click on your instance, select edit, and then go in the &lt;strong&gt;Settings&lt;/strong&gt; tab in the side panel.&lt;/p&gt;
&lt;p&gt;After that, select the Java tab in the settings.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/article_images/prism_settings_java.png&quot; alt=&quot;Showcasing where the instance settings are in the Prism Launcher&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Afterwards, either press browse on the Java Executable section or type in the path to the &lt;code&gt;java&lt;/code&gt; (or &lt;code&gt;java.exe&lt;/code&gt;) file manually.
It is located within the &lt;code&gt;bin&lt;/code&gt; folder in the archive you extracted earlier.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Make sure to check to disable the &quot;Skip Java compatibility checks&quot; option.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;You can try pressing &quot;Test Settings&quot; after you select the java executable to make sure it works.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Afterwards, scroll down, check the &quot;Java Arguments&quot; option below, and put in the command line arguments into it:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/article_images/prism_settings_args.png&quot; alt=&quot;Showcasing the Java Arguments in the Prism Launcher&quot; /&gt;&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#393A34, #DBD7CAEE); background-color: light-dark(#FFFFFF, #121212);&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;-XX:+UseZGC -XX:+UnlockExperimentalVMOptions -XX:+UseCompactObjectHeaders&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Afterwards, make sure to try to launch the game and see if it works.&lt;/p&gt;
&lt;p&gt;If it doesn&#39;t, make sure the path to the executable you&#39;re pointing to is correct.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;Have fun!&lt;/strong&gt;&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>That is not a Linux distro. It is a config.</title>
        <published>2025-09-25T00:00:00+00:00</published>
        <updated>2025-09-25T00:00:00+00:00</updated>
        
        <author>
          <name>Jade</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jadey.net/posts/distro-yapping/"/>
        <id>https://jadey.net/posts/distro-yapping/</id>
        
        <content type="html" xml:base="https://jadey.net/posts/distro-yapping/">&lt;p&gt;Ubuntu and Debian are distros.&lt;/p&gt;
&lt;p&gt;Fedora Atomic and Bazzite are distros.&lt;/p&gt;
&lt;p&gt;Arch is a distro, CachyOS is a distro.&lt;/p&gt;
&lt;p&gt;But they&#39;re not the same.&lt;/p&gt;
&lt;p&gt;Ubuntu has a similar workflow to Debian, it has the same kinds of software and
both have the same package manager (apt), but at the same time, they&#39;re not
always compatible and they&#39;re not even supposed to be.&lt;/p&gt;
&lt;p&gt;What about, for example, Bazzite. What&#39;s the difference between Bazzite and
Fedora Atomic?&lt;/p&gt;
&lt;p&gt;Well, Bazzite is just Fedora Atomic but with different settings and other
different preinstalled stuff, it targets a different workflow and a different
kind of audience.&lt;/p&gt;
&lt;p&gt;Coming from Fedora Atomic, Bazzite would be pretty much just, yknow, Fedora
Atomic, but slightly different.&lt;/p&gt;
&lt;p&gt;CachyOS and Arch? If you hide all of the branding, it would be hard to tell the
difference.&lt;/p&gt;
&lt;h2 id=&quot;so-what-s-a-distribution-something-ducks-walk-on&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#so-what-s-a-distribution-something-ducks-walk-on&quot; aria-label=&quot;Anchor link for: so-what-s-a-distribution-something-ducks-walk-on&quot;&gt;So what&#39;s a distribution, something ducks walk on?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;A Linux distro is quite literally, a distribution of the linux kernel, as well
as other software. Most likely, alongside the kernel, your average linux distro
might feature GNU coreutils, systemd, something like grub or systemd-boot, and
something like dracut.&lt;/p&gt;
&lt;p&gt;So, now we know what a linux distro is, but why am I making the article?&lt;/p&gt;
&lt;p&gt;I&#39;m making the article because, by the definition, any kind of distributed
distro which comes with an installer or something is a distribution, but I feel
like there are some cases which would benefit from having a more specific label.&lt;/p&gt;
&lt;p&gt;If I will make a distro based on NixOS, and the only difference from NixOS is
the default configs being changed, can I really call it a linux distribution?&lt;/p&gt;
&lt;p&gt;By the prior definition of &quot;linux distro&quot;, it would count as a linux distro,
because it is a literal distribution of linux.&lt;/p&gt;
&lt;p&gt;But in terms of my own personal feelings, it feels significantly different,
than, for example, Ubuntu being derived from Debian. That is because Debian and
Ubuntu are different enough where you don&#39;t really see them as one thing.&lt;/p&gt;
&lt;p&gt;If someone makes some crappy collection of packages and configs for Arch and
Hyprland, and distributes it, and somehow earns money from it, it would count as
a distro, and I can&#39;t say it is not, because under the definition it is. But it
also feels wrong.&lt;/p&gt;
&lt;p&gt;How can this count as it&#39;s own thing when it&#39;s clearly not??&lt;/p&gt;
&lt;h2 id=&quot;we-need-clearer-naming-schemes&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#we-need-clearer-naming-schemes&quot; aria-label=&quot;Anchor link for: we-need-clearer-naming-schemes&quot;&gt;We need clearer naming schemes&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As a solution, we can come up with linux distro tiers.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Root tier - A distro which is directly responsible for packaging and
distributing software. Has it&#39;s own infrastructure. For example, Debian, Arch,
NixOS, Fedora. It is usually the one other distros are based on.&lt;/li&gt;
&lt;li&gt;Derivative tier - A distro which is based on some sort of other distro, such
as Ubuntu being based on Debian, or for example, SteamOS being based on Arch.
It might be aimed towards a specific group or workflow, but uses preexisting
infrastructure, while maybe adding some on top. The key thing is that it is
either incompatible, or does not aim to be compatible with the original
distribution it derives from.&lt;/li&gt;
&lt;li&gt;Config tier - A distro which adds some stuff on top of a preexisting distro
without significantly altering anything, especially anything on the backend.
It is entirely compatible with the distro it is based on.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Think, for example, I cannot run Ubuntu software on Debian without recompiling.
That&#39;s because, while Ubuntu is kind of based on Debian, it has it&#39;s own
infrastructure and it&#39;s own packages, and the release cycle is dramatically
different. Debian packages are more &quot;stable&quot;. This is why i&#39;d call it a
&lt;strong&gt;derivative tier&lt;/strong&gt; distro.&lt;/p&gt;
&lt;p&gt;Meanwhile, something like CachyOS is a &lt;strong&gt;config tier&lt;/strong&gt; distribution of Arch.&lt;/p&gt;
&lt;p&gt;They are just Arch but with preinstalled stuff. CachyOS is just Arch but aimed
to be slightly more user friendly and comes with it&#39;s own repository of packages
which are meant to be compatible with Arch Linux.&lt;/p&gt;
&lt;p&gt;But, at the same time, there&#39;s also a weird inbetween scenario. SteamOS is based
on Arch, uses Arch packages, and by all means &lt;em&gt;is&lt;/em&gt; an Arch distro, but it is
dramatically different to Arch.. &lt;strong&gt;IF&lt;/strong&gt; you do not activate the command to make
it mutable, and &lt;strong&gt;IF&lt;/strong&gt; you do not set the system password which would allow you
to use sudo. I guess that makes it more of an.. uhhh.. &lt;em&gt;semi-derivative tier
distro?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I don&#39;t know.&lt;/p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Constant quantization (CQP) in ShareX</title>
        <published>2024-12-06T00:00:00+00:00</published>
        <updated>2024-12-06T00:00:00+00:00</updated>
        
        <author>
          <name>Jade</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://jadey.net/posts/sharex-cqp/"/>
        <id>https://jadey.net/posts/sharex-cqp/</id>
        
        <content type="html" xml:base="https://jadey.net/posts/sharex-cqp/">&lt;h1 id=&quot;tl-dr&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#tl-dr&quot; aria-label=&quot;Anchor link for: tl-dr&quot;&gt;TL;DR&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;Enable custom commands and replace the normal CBR bitrate setting, which is
like:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#393A34, #DBD7CAEE); background-color: light-dark(#FFFFFF, #121212);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#59873A, #80A665);&quot;&gt;-b:v&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; 6000k&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#393A34, #DBD7CAEE); background-color: light-dark(#FFFFFF, #121212);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#59873A, #80A665);&quot;&gt;-rc&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; constqp&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;cq&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2F798A, #4C9A91);&quot;&gt; 24&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;-rc constqp&lt;/code&gt; enables CQP&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-cq 24&lt;/code&gt; sets the quantization to 24&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;the-story&quot;&gt;&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-story&quot; aria-label=&quot;Anchor link for: the-story&quot;&gt;The story&lt;/a&gt;&lt;/h1&gt;
&lt;p&gt;I&#39;m a big fan of high quality recordings, and I&#39;m an even bigger fan of small
file sizes, which is exactly why I love CQP.&lt;/p&gt;
&lt;p&gt;CQP or &quot;Constant Quantization Parameter&quot; is a Variable Bitrate setting which
basically reduces or increases the bitrate to maintain a similar video quality
for each second of the video. Higher quantization means less overall quality for
the video.&lt;/p&gt;
&lt;p&gt;In my OBS settings, for recordings, I always enable CQP with Nvidia or CRF with
x264 because it makes desktop screen recordings super high quality but with
really small filesizes, small enough to shove the video straight into a discord
server, where the maximum file size for non paying &quot;citizens&quot; is like 10 MBs.
(Well it used to be 8 MBs then they updated it to 25 MBs and then down to 10 MBs
but that&#39;s not the point of this post)&lt;/p&gt;
&lt;p&gt;I am also a big fan of ShareX and while using the video recording option in it,
as usual, I realised that I should probably enable CQP in it too, but it doesn&#39;t
come with any kind of CQP options if you&#39;re using the H264 Nvidia option.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/article_images/sharex_preview.png&quot; alt=&quot;ShareX settings. Video encoder is set to &amp;quot;H.264 / NVENC.&amp;quot; Only option for video recording is constant bitrate, which is set to 6000&quot; /&gt;&lt;/p&gt;
&lt;p&gt;After seeing that it does not have a CQP option, I started googling for how to
enable CQP in ffmpeg, which is where I realised that it is very much not
documented.&lt;/p&gt;
&lt;p&gt;So I jumped straight into the word meatgrinder (with my meatgrinder of choice
being LLama 3.1 70B of the duckduckgo variety), put in the arguments used by
ShareX, and asked it to modify the arguments so it will use CQP instead of CBR.
It told me that I should remove &lt;code&gt;-b:v 6000k&lt;/code&gt; and replace it with
&lt;code&gt;-rc constqp -cqp 18&lt;/code&gt;, which ended up not working, because &lt;code&gt;-cqp&lt;/code&gt; isn&#39;t a real
argument. It is actually &lt;code&gt;-cq&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;After enabling custom commands, I replaced the bitrate setting with the before
mentioned arguments and it worked. The ffmpeg params which I ended up having
are:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color-scheme: light dark; color: light-dark(#393A34, #DBD7CAEE); background-color: light-dark(#FFFFFF, #121212);&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: light-dark(#59873A, #80A665);&quot;&gt;-f&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; dshow&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;thread_queue_size&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2F798A, #4C9A91);&quot;&gt; 1024&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;rtbufsize&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; 256M&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;audio_buffer_size&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2F798A, #4C9A91);&quot;&gt; 80&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;framerate&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B07D48, #BD976A);&quot;&gt; $&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B07D48, #BD976A);&quot;&gt;fps&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; video=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B5695977, #C98A7D77);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt;screen-capture-recorder&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B5695977, #C98A7D77);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt;:audio=&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B5695977, #C98A7D77);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt;virtual-audio-capturer&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B5695977, #C98A7D77);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;c:v&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; h264_nvenc&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B07D48, #BD976A);&quot;&gt; $&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B07D48, #BD976A);&quot;&gt;fps&lt;/span&gt;&lt;span&gt;$&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;preset&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; p4&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;tune&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; hq&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;rc&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; constqp&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;cq&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2F798A, #4C9A91);&quot;&gt; 24&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;movflags&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; +faststart&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;c:a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; aac&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;ac&lt;/span&gt;&lt;span style=&quot;color: light-dark(#2F798A, #4C9A91);&quot;&gt; 2&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;b:a&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt; 128k&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt; -&lt;/span&gt;&lt;span style=&quot;color: light-dark(#A65E2B, #C99076);&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B5695977, #C98A7D77);&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt;output&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B56959, #C98A7D);&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: light-dark(#B5695977, #C98A7D77);&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Only difference is that I changed the constant quality parameter to be 24
instead of 18, because having a slightly lower quality is totally fine for me.&lt;/p&gt;
</content>
        
    </entry>
</feed>
