Jump to content

Dash Lambda

Member
  • Posts

    2,289
  • Joined

  • Last visited

Posts posted by Dash Lambda

  1. Hello! I'm having a rather confounding issue.

     

    When I run my 4K TV off my GTX 980ti, I get screen tearing everywhere --desktop, YouTube, everywhere. I've also noticed that YouTube videos are choppy-looking in the small player but smooth in fullscreen.

     

    Both of those behaviors go away in 1440p and lower.

     

    My desktop has a 1700X, 32GB of RAM, and two GTX 980ti's (SLI disabled, ML stuff). The TV is a Sony Bravia XBR70x850b.

     

    Things I have tried:

    • Tried running the TV off my laptop
      • It worked perfectly with no tearing at 4K. My laptop is an X1 carbon G10 with the i7-1280p. I used the same cable for both my laptop and desktop.
      • Both my desktop and laptop are on Windows 10.
    • Tried many combinations of resolution and refresh rate in Windows display settings and Nvidia control panel
      • Only lowering the resolution solves the problem
    • Tried different cables and different TV-side ports
      • No dice, but given that the laptop is fine with the same cable and port this isn't surprising
    • Tried different picture modes on the TV
      • Some of them introduced other artifacts or weird stuttering, but all showed tearing
      • I'm using "original" game mode
    • Tried updating graphics drivers
      • Nada
      • I checked "clean install", though I haven't resorted to DDU yet
    • Tried taking out my secondary GPU
      • No dice
    • Tried closing background applications
      • Happens regardless

    I'm at a loss. The 980ti has more grunt than the 1280p's integrated GPU so I figure it has to be a compatibility thing. Been banging my head against this on and off for a while, I figure if anyone knows what's going on they'd probably be here.

  2. I did it in CADQuery, figured may as well clean it up a little and share it here both as an example solution and as a "hey look at CADQuery it's awesome!" thing:

    import cadquery as cq
    from math import radians, sqrt, cos, sin
    
    ## Parameters
    export = True       # Export to STEP and STL
    
    sleeve_rad = 9      # Radius of sleeve
    wall_thickness = 1  # Width of sleeve wall
    
    slot_angle = 70     # Angle subtended by the arc (i.e. angle between legs) (degrees)
    unlock_length = 11  # Length of unlocked side of slot
    lock_length = 1     # Length of locked side of slot
    slot_offset = 1     # Distance between slot cutout and edge of sleeve
    slot_width = 3      # Width of slot cutout
    
    interp_points = 100 # Number of points to use along curve when building the J hook spline
    
    ## Calculated
    arc_height = sleeve_rad*radians(slot_angle)/2    # Radius of hook of arc
    sleeve_height = (max(unlock_length, lock_length) # Total length of sleeve
                     + arc_height
                     + 2*slot_offset
                     + slot_width)
    
    ## Helper Functions
    def makeFullCurve(wp, r, h, a, N):
        # Create a wire defining the wrapped path of the hook of the J
        #   wp: Context workplane
        #    r: radius to wrap
        #    h: Max height of arc
        #    a: Slot angle (degrees)
        #    N: Number of points to use for spline
        
        # Function defining the curve of the arc
        def curveFunc(t):
            theta = t*radians(a)
            x = r*cos(theta)
            y = r*sin(theta)
            z = h*sqrt(1 - (2*t - 1)**2)
            return (x, y, z)
        
        arc = cq.Edge.makeSpline(
            wp._toVectors(
                (curveFunc(n/N) for n in range(N + 1)),
                includeCurrent = False),
            tangents = [
                cq.Vector(0, 0, 1),
                cq.Vector(0, 0, -1)],
            scale = False)
        
        return (cq.Workplane().copyWorkplane(wp)
            .add(arc)
            .toPending()
            .consolidateWires()
            .wires())
    
    ## Plugins
    def _showDebugDynamic(self):
        # Used to show context solid with current working features overlayed for debug
        if self.solids().size() > 0:
            show_object(self)
        else:
            try:
                base = self.findSolid()
                show_object(base)
                debug(self)
            except:
                show_object(self)
        return self
    cq.Workplane.showDebugDynamic = _showDebugDynamic
    
    def _isolateStartPlugin(self, id=0):
        # Used to set a checkpoint for isolate-combine workflow
        return self.solids().tag(f'isolated_unit_plugin_checkpoint_{id}').end()
    def _isolateUnionPlugin(self, id=0):
        # Used to combine current solid with checkpoint solid into a new solid
        return self.union(self.solids(tag=f'isolated_unit_plugin_checkpoint_{id}'))
    def _isolateCutPlugin(self, id=0):
        # Used to cut current solid from checkpoint solid
        return self.solids(tag=f'isolated_unit_plugin_checkpoint_{id}').cut(self)
    cq.Workplane.saveCurrent = _isolateStartPlugin
    cq.Workplane.recombine = _isolateUnionPlugin
    cq.Workplane.recombineCut = _isolateCutPlugin
    
    def _makeArcCutter(self, r0, r1, h, a, w, ul, ll, N, combine=True, fudge=0.01):
        # Create the solid needed to cut the J
        #      self: Workplane object
        #        r0: Inner radius
        #        r1: Outer radius
        #         h: Max height of arc
        #         a: Angle between legs of slot (degrees)
        #         w: Width of slot cut
        #        ul: Unlock leg length
        #        ll: Lock leg length
        #         N: Number of points to use for spline
        #   combine: Whether to combine with the parent solid
        #     fudge: How far to go past tangent points to prevent errors
        
        sagitta = r0 - sqrt(r0**2 - (w**2)/4)                # Sagitta of arc made with cutter and inner wall, used to determine cutter depth
        path_arc = makeFullCurve(self, r1, h, a, N)          # Path along which to sweep cutter cross-section
        aux_arc = makeFullCurve(self, r0 - sagitta, h, a, N) # Secondary path to constrain the cross-section's orientation along sweep
        cutter_depth = abs(r1 - r0) + sagitta + 2*fudge      # Depth of cutter cross-section
        
        return (self
            ## Arc
            ##   Make a rectangle for the cutter 
            ##   cross-section and sweep it along the
            ##   curve to make the hook of the J.
            .center((r0 + r1 - sagitta)/2, 0)
            .rect(cutter_depth, w)
            .sweep(path_arc,
                 auxSpine = aux_arc,
                 combine = combine)
            
            ## Unlock Slot
            ##   Select the unlock-side bottom face,
            ##   make a wire from the face's edges,
            ##   then extrude the straight slot.
            .saveCurrent("pre_unlock_slot")
            .faces("-Z").faces(">X")
            .tag("slot_base")
            .workplane(centerOption="CenterOfBoundBox")
            .faces(tag="slot_base")
            .edges()
            .toPending()
            .consolidateWires()
            .extrude(ul, combine = False)
            
            ## Unlock Slot Cap
            ##   Cap the slot with a half-circle
            ##   (Cadquery doesn't like it when you
            ##   try to do a total fillet, so I just
            ##   manually make the semicircle)
            .faces("-Z")
            .workplane()
            .transformed(
                offset = (cutter_depth/2, -w/2, 0),
                rotate = (0, -90, 0))
            .sagittaArc((0, w), -w/2)
            .close()
            .extrude(cutter_depth)
            .recombine("pre_unlock_slot")
       
            ## Lock Slot
            ##   Do the same as the unlock-side slot
            ##   but for the lock side.
            .saveCurrent("pre_lock_slot")
            .faces("-Z").faces(f'>({cos(radians(a)):f}, {sin(radians(a)):f}, 0)')
            .tag("lock_base")
            .workplane(centerOption="CenterOfBoundBox")
            .faces(tag="lock_base")
            .edges()
            .toPending()
            .consolidateWires()
            .extrude(ll, combine = False)
            
            ## Lock Slot Cap
            ##   Do the same as the unlock-side cap
            ##   but for the lock side.
            .faces("-Z")
            .workplane()
            .transformed(rotate = (0, 0, -a))
            .transformed(
                offset = (cutter_depth/2, -w/2, 0),
                rotate = (0, -90, 0))
            .sagittaArc((0, w), -w/2)
            .close()
            .extrude(cutter_depth)
            .recombine("pre_lock_slot"))
    cq.Workplane.makeArcCutter = _makeArcCutter
    
    ## Constructed
    sleeve = (cq.Workplane("XY")
        ## Base
        ##   Extrude a hollow cylinder with open ends.
        .circle(sleeve_rad)
        .circle(sleeve_rad - wall_thickness)
        .extrude(sleeve_height)
        
        ## Slot Arc Cut
        ##   Make a cutter and use it to cut the J.
        .saveCurrent("body_pre_cut")
        .faces("+Z")
        .workplane(offset = unlock_length + slot_width/2 + slot_offset - sleeve_height)
        .makeArcCutter(
            sleeve_rad - wall_thickness,
            sleeve_rad,
            arc_height,
            slot_angle,
            slot_width,
            unlock_length,
            lock_length,
            interp_points,
            combine=False)
        .recombineCut("body_pre_cut")
        
        ## Show Object
        ##   Render solid in preview window (if using CQ-Editor),
        ##   and if there are pending wires, selected faces,
        ##   or other in-progress features, show them as
        ##   debug objects.
        .showDebugDynamic())
    
    if export:
        ## If enabled, automatically export to both STEP and STL.
        cq.exporters.export(sleeve, "bolt_action_sleeve.step")
        cq.exporters.export(sleeve, "bolt_action_sleeve.stl")

    image.thumb.png.f270ec3f40d50a913c8e93cd99f12b03.png

     

    I went through a couple approaches, best one ended up being to directly define the path of the cutter and sweep a cross-section along it. CADQuery lets you do that pretty easily, so it ended up being a --relatively-- simple script. It's also fully parametric, so you can play around with the dimensions and whatnot if you want. I recommend CQ-Editor.

     

    While you can define the shape exactly mathematically, I don't think most BREP (boundary representation) standards let you define surfaces directly as functions, so most CAD software can't technically represent the shape exactly. This isn't really that significant though, since you can use splines to approximate the curve. The difference between a spline through points on the curve and a direct realization of the mathematical curve, especially for simple shapes like this, ends up being purely academic.

     

    You could probably define it exactly with FREP (functional representation), since its whole deal is operations on volumes. You can't represent any curve exactly in OpenSCAD though, and most other FREP tools are even more niche and clunky. I might take a stab at Curv, I think that lets you do exact representation.

  3. 11 hours ago, E-waste said:

    Have you tried running a 256mb memory VM?  Linux doesn't boot with much less, in virtualbox in my limited experience, but it doesn't use that much memory once booted.

    I've heard of people using VMs, but I ended up just breaking out my old laptop that dual-boots with Mint. It's got ethernet, its own battery in case power goes out, seemed like a good idea. Been working really well.

  4. A week or two ago I actually set up VPN access to my local network so I could access the NAS in the actual filesystem remotely, and I guess that was pretty good timing because I didn't even realize there was an outage.

     

    I'd honestly recommend it. Tailscale's free and really straightforward to set up for this (though dog slow if you use Windows for the server end), and using a VPN like that is way more flexible and convenient than the MyCloud portal stuff. And if you wanna avoid external VPN services too a dynamic IP service is like $2 a month. Been pretty happy with it.

     

    As for the SMB stuff, you can configure it to use any combination of 1, 2, and 3, but it's configured to only use 2 and 3 by default. And I don't remember ever having to go through a cloud portal to enable LAN access --maybe that's only a MyCloud Home thing? I still have access to all the configuration stuff and the filesystem and whatnot, never would've noticed the outage if I hadn't checked the forum.

  5. This isn't really what you're asking about, but I have done a 3D-printed model train horn: https://www.printables.com/model/142600-nathan-k5la-train-horn

     

    I imagine that for really small models you'd probably want to do resin printing. There's lots of little details that would almost certainly be lost with a very small FFF print, at least at the scale of the model train set I got from my dad (cars are maybe 3 inches long I think?).

  6. 23 hours ago, Imbadatnames said:

    The manufacturer of the LiDAR apple uses is Velodyne, maybe see if you can ask them if they can tell you anything 

    I was under the impression Apple uses third party sensors and lasers but makes the actual assembly themselves. I've heard a few companies named as suppliers, mainly Sony and Lumentum, but I've never heard Velodyne. I don't think anything in their product stack is relevant for such a small module. Would be nice though, I work with Velodyne hardware, it's pretty friendly.

     

    Most of the sensors I'm planning to use for this project are I2C or something similar, a very standardized, widely supported, well documented, and easy to use protocol. I'm sure it's possible to get Apple's LiDAR module working, but all signs point to it being proprietary and very poorly documented, which means it's not really an option.

  7. 4 minutes ago, Imbadatnames said:

    See if you can find a replacement unit from an iPad or iPhone and repurpose if?

    I don't think I would be able to use Apple's module --I don't know what protocol it uses to communicate, and it's most certainly not well documented. Given the difficulty I've had finding any information at all on it I don't think I have the skillset to figure out how to integrate it into a different device.

  8. 11 minutes ago, Kilrah said:

    Yeah I doubt you're going to get that without mechanical scanning at this point, and that takes space...

    Yeah, that's the rub. There are actually solid-state LiDAR modules that match or even far exceed the range and density I'd want, but they're not small enough.

     

    As the project is just a sensor platform for various applications I don't really have strict requirements, I'm just trying to find the best way to get high-accuracy 3D mapping data from a small device. Do you know of any available LiDAR components that would fit my size requirements, even if their range or resolution falls short?

  9. 7 minutes ago, Kilrah said:

    What's your purpose? The iphone/ipad sensor IS a multi-point ToF sensor but it's very low resolution.

    Data collection/mapping from a handheld device. It's going to be combined with two different types of cameras, intended to be a sensor platform for a variety of applications.

     

    I do want high resolution, but I realize I can't expect super-high density in something so small. At this point I even wonder if what I'm looking for exists.
    Only suitably small component I've found is the VL53L5CX from ST, but it seems to be more for presence detection than mapping --only 8x8 with a 4m max range. I'm looking for much longer range (50-100m more like) and higher density. Several times larger would still be fine if it afforded better range and density.

     

    There are a variety of good small long-range high-density LiDAR modules available like Velabit, CygBot, etc., but they're all still too big. I might have to start looking into 2D LiDAR in case I can't find a good 3D module.

  10. Hello! Been a while since I posted here, but I figure if anyone can help you guys probably can.

     

    So, I'm working on a project for which I really want 3D LiDAR. This project has tight space constraints, the LiDAR module would have to fit within about a cubic inch. The smallest easily-available 3D LiDAR modules I can find are closer to 2" cubed, which is simply too big.

     

    I know Apple has had 3D LiDAR integrated into the camera cluster on the iPhone and iPad for a little while now, so tiny modules do exist. Sony has a new ToF chip that they built a MEMS LiDAR device around, but that's currently only available as evaluation hardware, I'm probably not getting my hands on it anytime soon.

     

    Do any of you know of a 3D LiDAR module that fits my size constraints and is even remotely easily available right now?

  11. 6 minutes ago, HanZie82 said:

    Same, i cant be arsed to find one of my 2 mice, and then move it to the start button.

    I just tap the WinKEY and start typing to what i need.

    And NO! i don't want to search for files or anything on the Internets from there. Just installed programs, and maybe some windows folders.

     

    And you dont get lost between the large amount of numbers there?

    I would, but then not everyone has (number)dyslexia. 😄

    I use Rainmeter (in combo with HWinfo ofc) to display info like that. (on a seperate monitor.)

     

    Screenshot_13.png

    Oh, I would love a more comprehensive status readout on its own monitor, but I run out of realestate too much as it is with four XP

  12. Ooh, I actually have some interesting things on my taskbar:

    image.thumb.png.f1df65731d2560eb0971a18058850505.png

    In my system tray, from left to right: CPU usage, CPU temp, CPU clock, CPU voltage, GPU0 usage, GPU1 usage, GPU0 temp, GPU1 temp, RAM usage. This little gauge cluster is why I friggin' love HWiNFO.

  13. 5 hours ago, Dabombinable said:

    I'm referring to reliability in space. For example 486 would suffer less damage and run with fewer errors than a 3700X due to space's radiation.

    We're actually not even sure how significant that is at the moment. A couple years ago there was an experiment going to determine the reliability of off-the-shelf computer hardware on the ISS, I don't think we've heard the results yet.

  14. 1 minute ago, Master Disaster said:

    There's already rumours that the Switch OLED is NOT the much rumoured Switch Pro and that Nintendo will be dropping the OG Switch next year, replacing it with the OLED then launching a Pro just in time for BOTW2.

     

    They say take salt for rumours, what do you take for rumours about rumours then?

    That would be... kind'a rude, honestly.

  15. Honestly, I don't really consider the screen an improvement, unless it's magic. OLEDs still wear out really fast compared to LCD right? Sure, it'll look nicer, but what will it look like in 5 years? 10 years? And were people really asking for a bigger screen on a handheld?

     

    Double the internal storage is whatever because I can just stick a 512GB SD card in there. LAN port on the dock is nice but not a selling point, even for me.

     

    New kickstand is nice. Better audio is nice, but... if I want good audio I'll use headphones/IEMs.

     

    I mean, this is what Nintendo does, they don't push performance, they focus on unique features. I just thought that since the Switch is the first Nintendo portable to really mix game libraries with the rest of the industry they'd bump performance a bit, things like Doom and A Hat In Time kind'a make it chug.

     

    I don't really see a reason to wait for it.

  16. 1 minute ago, my name is guru iam tech said:

    a news for people typing a comment

    type #rubiksenemie before you start a comment if you are typing about your most disliked cube,

    type #the confuser if your typing something confusing about rubiks cube

    type #the impossible if your typing something imposible about rubiks cube

    What about our favorite cubes? Or perhaps interesting things about cubes, or tips and tricks?

  17. 46 minutes ago, FakeKGB said:

    Attempted explanation. I do see the contradictory part - not sure how I didn't notice that I said "Windows 10 is not Windows 10 but is Windows 10". There's also some missing words. Wow, this post is bad.


    Last year, MS announced the 21H2 update for W10, which was going to change a lot. It's what we now know as Windows 11, I think. The "new OS" part is Windows 11.

    I think what I was trying to say is that Windows 11 is Windows 10 with some minor tweaks, such as scheduler changes for big.LITTLE.

    I haven't been able to use it personally - downloading the leaked/dev ISO right now - but I will give my thoughts.

    Sorry if this is still confusing.

    Makes more sense put that way I think. Basically just another Windows 10 update.

    It'd be weird to see it called Windows 11 though.

×