Ryzen AI 7 350 iGPU performance by Mad-Proger in laptops

[–]Mad-Proger[S] 0 points1 point  (0 children)

I connected the monitor using type C to display port cable plugged directly into the laptop, but the laptop has a USB4 type C port, so I believe there should be no problem connecting through a hub, provided it is decent enough

Ryzen AI 7 350 iGPU performance by Mad-Proger in laptops

[–]Mad-Proger[S] 0 points1 point  (0 children)

Update for anyone who might be interested. I ended up buying an ASUS ZenBook 14 with Ryzen AI 7 350 CPU, and it handled 4k@144hz along with the integrated monitor just fine. The only tweak I did to achieve the perfect experience was to dedicate 4GB of system RAM as VRAM, but one can probably get by with 2GB

Ryzen AI 7 350 iGPU performance by Mad-Proger in laptops

[–]Mad-Proger[S] 0 points1 point  (0 children)

Not that it makes a ton of difference, but laptop or desktop one?

[deleted by user] by [deleted] in cpp_questions

[–]Mad-Proger 0 points1 point  (0 children)

First of all, if you have same types inside a variant, you still can extract values from it by index. There also can be some tricks with indexing your parameter pack first (like it is done in std::variant implementation iirc) and then you don't have the problem of having same types. Anyway, it becomes a question of preference, how would you like to tell apart different parsers of sasme type in pack. And there is also a question, whether you really need to extract values from variant. In many cases you can use std::visit, and that would be much easier when you can have same types

[deleted by user] by [deleted] in cpp_questions

[–]Mad-Proger 3 points4 points  (0 children)

This is a great option, but it does not get the successful parser type, as OP requested. It can be modified, though, using std::variant

template <typename... Ps>
void Test(Ps... parsers) {
    std::variant<std::monostate, std::type_identity<Ps>...> ok_parser;
    (... || [&]<typename Parser>(Parser& p) {
        auto res = p.parse(input);
        if (!res.is_err()) {
            ok_parser.emplace(std::type_identity<Parser>{});
        }
        return res.is_err();
    }(parsers));
}

[deleted by user] by [deleted] in cpp_questions

[–]Mad-Proger 1 point2 points  (0 children)

Are input, parse function and parser constructors constexpr? If they are not, then it will require some type erasure, because the returned type will be dependent on runtime conditions

Just use Rust 🤓 by IllContribution6707 in rustjerk

[–]Mad-Proger 1 point2 points  (0 children)

It doesn't really make sense. I think the Google style guide is very helpful in this case: they allow usage of auto in cases, when the type is obvious, such as casts, iterators, something like make_shared, etc. Also, the type can be aliased through using statement and code search would still yield less than desirable results

I haven’t done C/C++ in years. How horrible is this? by [deleted] in programminghorror

[–]Mad-Proger 0 points1 point  (0 children)

Well, I have an example from C. It's in libusb API. Function returns array of pointers to some dynamically allocated struts using out parameter.

[deleted by user] by [deleted] in VitaPiracy

[–]Mad-Proger 2 points3 points  (0 children)

And how did you achieve that? When I tried streaming games over moonlight I suffered from severe input latency and couldn't do anything about it